学生宿舍管理系统课程设计报告

更新时间:2024-03-25 08:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

淮阴工学院

Project1课程设计报告

选题名称: 学生管理系统 系(院): 计 算 机 工 程 学院 专 业: 软件工程(NIIT) 班 级: 软件1092班 姓 名: 马涛 学 号: 1091305215

指导教 殷路,张亚红,张勇军,冯万利 学年学期: 2010 ~ 2011 学年 第 1 学期

2010 年 12 月 26 日

设计任务书

课题 名称 学生管理系统 1. 调研并熟悉学生管理系统的基本功能、数据流程与工作规程; 设计 2. 学习数据库创建、基于VC++集成环境的数据库编程技术; 目的 3. 通过实际编程加深对基础知识的理解,提高实践能力; 4. 学习开发资料的收集与整理,学会撰写课程设计报告。 ; 实验 1. 微型电子计算机(PC)环境 2. 安装Windows 2000以上操作系统,Visual C++6.0开发工具。 1. 利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理; 2. 在第16周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作; 任务 要求 3. 本课题主要实现学生成绩管理系统、学生信息管理系统、学生宿舍管理系统等。 4. 结束后,及时提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于3000字(不含代码)。 工作进度计划 序号 1 起止日期 2010.12.20~2010.12.21 工 作 内 容 在预设计的基础上,进一步查阅资料,完善设计方案,形成书面材料。 设计总体方案,构建、绘制流程框图,编写代码,上机调试。 测试程序,优化代码,增强功能,撰写设计报告。 提交软件代码、设计报告,参加答辩,根据教师反馈意见,修改、完善设计 报告。 2 3 4 2010.12.22~2010.12.23 2010.12.24~2010.12.25 2010.12.26~2010.12.27 指导教师(签章):

年 月 日

摘要:

学生管理系统包括了学生成绩管理系统,学生信息管理系统,学生宿舍管理系统。该系统现实了学校当中学生的各项信息,使相关人员操作起来更加简单。虽然显示的信息不多,但是足够我们使用。学生管理系统的代码包含了输入、显示、排序、增加、修改、删除等功能。学生管理是高校内每一个系部或院部都必须切实面对的工作,传统的人工方式管理学生信息存在着许多缺点,效率低、保密性差且较为繁琐。另外,随着学生数量的增加,工作量也大大增加,这也增加学生处管理者的工作量和劳动强度,也给学生信息的查找、更新和维护都带来了很多困难。学生管理可以迅速检索、方便查找、可靠性高、存储量大、保密性好、寿命长、成本低等,能够极大地提高学生管理的效率。建立一个学生管理系统,使学生管理工作规范化,系统化,程序化,避免学生管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改学生的情况。

关键词:学生管理;迅速;方便

目录

1需求分析................................................................................... 错误!未定义书签。 2概要设计..................................................................................................................... 2

2.1 程序的功能模块图 ............................................................................................................ 2 2.2 程序的流程图 .................................................................................................................... 3 2.3 基本思路............................................................................................................................ 4

3详细设计与实现......................................................................................................... 4

3.1结构体的描述 ..................................................................................................................... 4 3.2学生信息的输入 ............................................................................... 错误!未定义书签。 3.3学生信息的显示 ............................................................................... 错误!未定义书签。 3.4学生信息的排序 ................................................................................................................. 8 3.5学生信息的插入 ............................................................................................................... 10 3.6学生信息的删除 ............................................................................................................... 11 3.7学生信息的查找 ............................................................................................................... 13 3.8学生信息的修改 ............................................................................................................... 14 3.9主函数............................................................................................................................... 16

4调试与操作说明....................................................................................................... 18

4.1选择界面........................................................................................................................... 18 4.2学生信息的输入 ............................................................................................................... 18 4.3学生信息的显示 ............................................................................................................... 19 4.4学生信息的排序 ............................................................................................................... 19 4.5学生信息的插入 ............................................................................................................... 20 4.6学生信息的删除 ............................................................................................................... 21 4.7学生信息的查找 ............................................................................................................... 21 4.8学生信息的修改 ............................................................................................................... 22

总结.............................................................................................................................. 23 致谢.............................................................................................................................. 24 参考文献...................................................................................................................... 25

1 需求分析

目前市面上流行的管理系统不少。但是,对于学校的学生管理系统来说,需要大型的系统,而且是一个操作方便,功能实用,能满足学校学生数据的管理及需求的系统。我的目标就是开发一个功能实用、操作方便,简单明了的学生管理系统。

此图书馆管理系统,包括:学生档案管理系统、学生成绩管理系统、学生宿舍管理系统。对每个学生信息包含了年级、班级、姓名、家庭住址、各科成绩等等。我对学生的信息建立了一个数组。

系统主要功能如下:

选择界面:管理者通过不同的选择查看学生的各种信息;

学生信息的输入:将学生的信息输入,包含了学生的学号、姓名、成绩、家庭住址等;

学生信息的显示:输入学生的学号显示学生的各种信息; 学生的排序:按照学生的平均分进行排序;

学生信息的插入:新进一个学生,将他的各种信息输入到数据库中; 学生信息的删除:输入学生的学号,删除一个学生的所以信息; 学生信息的修改:输入学生的学号,修改一个学生的信息。

面对每天纷繁复杂的学生管理工作,本管理系统很好的解决了工作人员的烦恼。相比传统的人工管理,此管理系统具有:功能全面、操作简单、检索迅速、查找方便、可靠性高、存储量大、成本低等绝对的优势。

通过本管理系统,可以大大的节约工作时间,减少工作量,提高了工作效率,能帮助工作人员更加方便、高效的管理学生。

本管理系统的设计环境:Visual C++ 6.0 ; Windows XP SP3

1

2 概要设计

2.1 程序功能模块图

学生管理系统 主控程序 学生档案管理 学生成绩管理 学生宿舍管理

图2-1功能模块图

2

2.2程序流程图

学生管理主控界面

学生档案管学生成绩管学生宿舍管学 号 查 询 姓 名 查 询 宿 舍 号 查 询 Y 操作 得出结果 N 结束程序 3

2.3基本思路

首先在Visual C++6.0里建立student结构体,包含了学生的各种信息,然后建立三个子模块,分别为学生档案管理,学生成绩管理和学生宿舍管理。最后建立一个主控程序,以便调用以上三个子模块

3详细设计与实现

3.1结构体的描述

该模块是定义的是结构体,显示的是学生的各种信息。还有一个菜单函数,显示一个学生管理系统的选择界面。

typedef struct {

char grade[20];//年级 char class_0[20];//班级 int sno1;//学号 int sno2;//宿舍号 char name[20];//名字 float elec;//电子技术成绩 float C_Program;//C++成绩 float Sports;//体育成绩 float policy;//马克思成绩 float sum;//总分 float avg;//平均分 int telephone;//电话号码 char homeaddress[100];//家庭地址

}student;

student stud[100];//结构体数组变量

4

int menu()//菜单函数 {

char mt; do {

system(\

cout<<\cout<<\学生管理系统***********\cout<<\按1:输入学生信息 *\cout<<\按2:显示学生信息 *\cout<<\按3:平均分降序排列 *\cout<<\按4:查找学生信息 *\cout<<\按5:增加学生信息 *\cout<<\按6:修改学生信息 *\cout<<\按7:删除学生信息 *\cout<<\按0:退出系统 *\cout<<\请你选择操作(0--7) *\cout<<\制作者:软件2班:马涛 *\cout<<\

mt=getchar();

} while(mt<'0'||mt>'8');

return (mt-'0');// return (mt-'0')为int 类型的数据//return mt; //返回的数据为char类型 }

3.2学生信息的输入

int Input(student stud[],int n)

{

int i=0; char sign;

5

while(sign!='n'&& sign!='N') {

cout<<\请输入学生的年级:\cin>>stud[n+i].grade; cout<<\请输入学生的班级:\cin>>stud[n+i].class_0; cout<<\请输入学生的学号:\cin>>stud[n+i].sno1; cout<<\请输入学生的宿舍号:\cin>>stud[n+i].sno2; cout<<\请输入学生的姓名:\cin>>stud[n+i].name;

cout<<\请输入学生的【电子技术】成绩:\cin>>stud[n+i].elec;

cout<<\请输入学生的【C plus Program】的成绩:\cin>>stud[n+i]. C_Program;

cout<<\请输入学生的【体育】的成绩:\cin>>stud[n+i].Sports;

cout<<\请输入学生的【马克思主义】的成绩:\cin>>stud[n+i].policy;

stud[n+i].sum=stud[n+i].elec+stud[n+i].C_Program+stud[n+i].Sports+stud

[n+i].policy; //计算式

stud[n+i].avg=stud[n+i].sum/4;

cout<<\该学生的总分为:\cout<<\该学生平均分为:\cout<<\请输入学生的电话号码:\cin>>stud[n+i].telephone; cout<<\请输入学生的家庭地址:\

6

cin>>stud[n+i].homeaddress;

cout<<\提示:继续写入成绩?(输入N/n结束)\ cin>>sign; i++;

}

return (n+i);

}

3.3学生信息的显示

void Display(student stud[],int n) { int i; if(!stud)

cout<<\

else { cout<<\ <<\ <<\ <<\ <<\ <<\ <<\ <<\ <<\

<<\

cout<

for(i=1;i

7

类似的定义 ,不过原来

的定义是容易理解从

{ stud[i-1].sum=stud[i-1].elec+stud[i-1].C_Program+stud[i-1].Sports+stud[i-1].policy;

stud[i-1].avg=stud[i-1].sum/4; cout<

<

cout<<\

endl;

}

}

system(\

}

cout<<\

3.4学生信息根据平均分排序

{

int i,j,k; float s;

8

void Sort(student stud[],int n)

char t[20]; char t1[20]; char t2[20]; char t3[100]; for(i=0;i

for(j=0;j

if(stud[j].avg

student t; t=stud[j+1]; stud[j+1]=stud[j]; stud[j]=t;

cout<<\

*****************\格式头*/

cout<<\年级:\

cout<<\班级:\ cout<<\学号:\ cout<<\宿舍号:\ cout<<\姓名:\ cout<<\电子:\ cout<<\ cout<<\体育:\ cout<<\马克思:\ cout<<\总分:\ cout<<\平均分:\ cout<<\电话号码:\ cout<<\家庭地址:\

9

cout<<\**********\

for(i=1;i

stud[i-1].sum=stud[i-1].elec+stud[i-1].C_Program +stud[i-1].Sports+stud[i-1].policy;

}

}

stud[i-1].avg=stud[i-1].sum/4;

cout<

<

<

3.5学生信息的插入

int Insert(student stud[],int n ) {

cout<<\请输入学生的年级:\ cin>>stud[n].grade;

cout<<\请输入学生的班别:\ cin>>stud[n].class_0;

10

cout<<\请输入学生的学号:\ cin>>stud[n].sno1;

cout<<\请输入学生的宿舍号:\ cin>>stud[n].sno2;

cout<<\请输入学生的姓名:\ cin>>stud[n].name;

cout<<\请输入该学生【电子技术】的成绩:\ cin>>stud[n].elec;

cout<<\请输入该学生【C++程序设计】的成绩:\ cin>>stud[n].C_Program;

cout<<\请输入该学生【大学体育】的成绩:\ cin>>stud[n].Sports;

cout<<\请输入该学生【马克思主义】的成绩:\ cin>>stud[n].policy;

stud[n].sum=stud[n].elec+stud[n].C_Program

+stud[n].Sports+stud[n].policy;

stud[n].avg=stud[n].sum/4;

cout<<\请输入学生的电话号码:\ }

cin>>stud[n].telephone; cout<<\请输入学生的家庭地址:\ cin>>stud[n].homeaddress; n++;

Sort(stud,n);

cout<<\提示:输入成功!\ return(n);

3.6学生信息的删除

11

int Delete(student stud[],int n) {

int s; int i=0,j;

cout<<\输入需要删除学生的学号:\ cin>>s;

while((stud[i].sno1-s)!=0&&i

i++;

if(i==n) {

cout<<\提示:对不起,无法找到该学号……\ return (n);

}

for(j=i;j

strcpy(stud[j].grade,stud[j+1].grade); strcpy(stud[j].class_0,stud[j+1].class_0); stud[j].sno1=stud[j+1].sno1; stud[j].sno2=stud[j+1].sno2;

strcpy(stud[j].name,stud[j+1].name); stud[j].elec=stud[j+1].elec;

stud[j].C_Program=stud[j+1].C_Program; stud[j].Sports=stud[j+1].Sports; stud[j].policy=stud[j+1].policy; stud[j].telephone=stud[j+1].telephone;

strcpy(stud[j].homeaddress,stud[j+1].homeaddress);

}

cout<<\提示:已成功删除!\ return(n-1);

12

}

3.7学生信息的查找

void Search(student stud[],int n) /*查找并显示一个记录*/ {

int s; int i=0;

cout<<\输入需要查找学生的学号:\ cin>>s;

while((stud[i].sno1-s)!=0&&i

i++; /*查找判断*/

if(i==n) {

cout<<\提示:对不起,无法找到该学生的信息!\

输入失败信息*/

return;

}

cout<<\ cout<<\年级:\

cout<<\班级:\输出该学生信息*/ cout<<\学号:\ cout<<\宿舍号:\ cout<<\姓名:\ cout<<\电子技术:\

cout<<\程序设计:\ cout<<\大学体育:\ cout<<\马克思主义:\ cout<<\总分:\ cout<<\平均分:\

cout<<\电话号码:\

13

}

cout<<\家庭地址:\

3.8学生信息的修改

void Modify(student stud[],int n) {

int s; int i=0;

cout<<\输入需要修改成绩学生的学号:\ cin>>s;

while((stud[i].sno1-s)!=0 && i

i++; /*查找判断*/

if(i==n) {

cout<<\提示:对不起,无该学生的成绩……\/*输入失

败信息*/

return;

} else {

cout<<\

*************************************\格式头*/

cout<<\年级:\ cout<<\班级:\ cout<<\学号:\ cout<<\宿舍号:\ cout<<\姓名:\ cout<<\电子:\ cout<<\ cout<<\体育:\

14

cout<<\马克思:\ cout<<\总分:\ cout<<\平均分:\

cout<<\电话号码:\ cout<<\家庭地址:\

cout<<\**************\

stud[i].sum=stud[i].elec+stud[i].C_Program+stud[i].Sports+stud[i].policy;

stud[i].avg=stud[i].sum/4; cout<<\请输入学生的年级:\ cin>>stud[i].grade;

cout<<\请输入学生的班级:\ cin>>stud[i].class_0;

cout<<\请输入学生的学号:\ cin>>stud[i].sno1;

cout<<\请输入学生的宿舍号:\ cin>>stud[i].sno2;

cout<<\请输入学生的姓名:\ cin>>stud[i].name;

cout<<\请输入该学生【电子技术】的成绩:\ cin>>stud[i].elec;

cout<<\请输入该学生【C++程序设计】的成绩:\ cin>>stud[i].C_Program;

cout<<\请输入该学生【大学体育】的成绩:\ cin>>stud[i].Sports;

cout<<\请输入该学生【马克思主义】的成绩:\ cin>>stud[i].policy;

stud[i].sum=stud[i].elec+stud[i].C_Program+stud[i].Sports+stud[i].policy;

15

本文来源:https://www.bwwdw.com/article/q538.html

Top