学生管理系统报告正文大学生毕业设计本科学位论文.docx
《学生管理系统报告正文大学生毕业设计本科学位论文.docx》由会员分享,可在线阅读,更多相关《学生管理系统报告正文大学生毕业设计本科学位论文.docx(32页珍藏版)》请在冰豆网上搜索。
学生管理系统报告正文大学生毕业设计本科学位论文
第1章引言
1.1设计目的
目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入社会,但还未普及,而对于学生信息管理来说,目前还没有一套完整的、统一的系统。
因此,开发一套适和大众的、兼容性好的学生管理系统是很有必要的。
1.2设计目标
设计一个小型学生成绩管理系统。
该系统将完成学生信息的查询、添加、修改,学生成绩的查询等功能。
1.2.1基本功能
对学校学生信息管理的系统,主要划分为以下三个模块:
录入:
包括录入学生基本个人信息。
管理:
包括对学生成绩信息的修改,增加,删除。
查询:
按学号,姓名查询、输出学生所有信息。
统计:
按总分和平均分进行排名,以及统计及格人数,优秀的人数。
学生成绩管理系统的功能结构图如图1-1所示。
图1-1学生成绩管理系统功能模块图
1.2.2扩展功能
可以增加新学生的信息,统计及格人数和。
1.3研究思路
首先确定要实现的功能,在我们的学生成绩管理系统中主要体现对学生成绩信息的操作如添加,查询,修改等;其次体现了学生对自己信息的查询,及浏览本人成绩信息的功能。
在具体实现时,利用C++的输出格式显示操作的界面,利用函数实现相应的模块功能,再利用循环、选择可灵活进行重复操作。
1.4小组分工
本次实训由衡欣、魏千森、王跃霖、王晓峰我们四位同学一组,每位同学的具体分工如下:
衡欣:
负责整个系统的框架以及整个界面的实现和学生成绩管理函数的实现以及各个函数的衔接;
王晓峰:
负责学生成绩信息录入函数的实现;
王跃霖:
负责学生成绩统计函数的实现;
魏千森:
负责学生成绩查询函数的实现;
1.5本章小结
本章主要对学生成绩管理系统以及研究思路进行了简单的介绍,为后面的工作做铺垫。
第2章总体设计
2.1系统需求
管理人员在学生成绩信息录入界面可以录入多位学生信息,录入完毕后可以在学生成绩管理界面完成修改、增加、查询学生成绩信息等功能。
管理人员也可以在学生信息查询界面完成查询学生的基本信息的功能,以及在学生成绩统计界面查询学生成绩的总分排名和平均分排名以及学生及格的人数和优秀的人数。
2.2功能结构
通过前面的分析,可以得到学生成绩管理系统如图2-1所示。
其功能如下:
(1)录入学生信息
管理员输入学生基本信息和成绩信息。
(2)学生成绩操作
成绩管理界面,可以对学生成绩信息进行修改,增加,删除。
(3)学生成绩统计
进入成绩统计界面,可以查询学生成绩的排名和及格,优秀人数信息。
(4)学生成绩查询
进入查询界面可查询所有学生的成绩或按学号以及姓名查询学生成绩。
图2-1学生成绩管理系统体系结构图
2.3本章小结
本章主要从总体上对学生成绩管理系统的各功能模块进行了分析。
第3章详细设计
3.1学生信息定义
本系统中主要考虑了学生的姓名、学号、性别、班级、科任老师、高等数学、大学英语、c++成绩等信息,利用结构体来定义每个学生的具体信息,利用结构体数组来存放多个学生的信息。
学生结构定义如下:
structstuent//定义一个结构体变量
{
intnumber;//学生学号
charname[20];//学生姓名
charsex[20];//性别
intgrade;//班级
charteacher[20];//科任老师
floatmath;//高等数学
floatenglish;//大学英语
floatc;//c++语言
floatjava;//java成绩
floatsum;//总成绩
floatave;//平均成绩
}stu[200],a;//定义一个能容下200个学生信息的静态结构体数组以存放学生的相关信息,和一个空闲的静态结构体变量a,为后面的排名函数作准备。
3.2功能模块
(1)主模块
这一模块是系统的主界面,在main()函数中包括以下几个函数,它们的函数名以及主要功能如下:
voidmenu():
主菜单功能。
(2)学生信息录入,管理模块
学生信息录入模块由input()函数实现,具体实现学生信息的录入。
学生成绩管理模块由menu2()函数实现,具体实现学生成绩修改、增加、删除等操作通过调用三个函数完成,分别为:
voidrevamp_student();//主菜单2的学生成绩修改
voidincrease_student();//增加
voiddelete_student();//删除
(3)学生成绩统计,查询模块
学生成绩统计,查询模块由menu3()和menu4()函数实现,可以统计学生的总成绩和平均成绩排名、及格和优秀人数。
查询所有学生和按学号和姓名查询学生成绩信息。
通过调用如下函数来实现:
voidrank_total_score();//总成绩排名
voidrank_average_score();//平均成绩排名
intpass_score(floatm);//及格人数
intpass_total_score(floatm);//总分及格人数
intexcellent_score(floatm);//优秀人数
intescellent_total_score(floatm);//总分优秀人数
voiddisplay();//菜单4下的所有学生成绩显示voidnumber_check();//按姓名查询
voidname_check();//按学号查询
3.3本章小结
本章主要对学生成绩管理系统学生的结构定义、管理员的操作做简单描述,为下一章的具体实现做准备。
第4章系统实现
4.1系统主界面
在学生成绩管理系统主界面有五个选项,分别为学生成绩录入、学生成绩管理、学生成绩统计、学生成绩查询以及退出系统。
运行效果如图4-1所示。
图4-1学生成绩管理系统主界面
设计思路:
利用do-while循环实现反复显示主界面各信息,利用cout语句输出主界面的各信息,利用switch-case实现选择操作,input函数实现学生信息录入,menu2()函数实现学生成绩管理,利用menu3()函数实现学生成绩统计,利用menu4()函数实现学生成绩查询,利用exit()函数实现退出系统。
核心代码如下:
voidmenu()//定义一个主界面函数
{
do{
cout<<"\n\t\t--学生成绩管理系统---"<cout<<"\t\t1.学生成绩录入"<cout<<"\t\t2.学生成绩管理"<cout<<"\t\t3.学生成绩统计"<cout<<"\t\t4.学生成绩查询"<cout<<"\t\t0.退出系统"<cout<<"\t\t请输入0-4之间的任意一数字(仅限数字)"<cout<<"输入:
";
cin>>choose;
switch(choose)
{
case1:
input();
break;//录入学生信息
case2:
menu2();
break;//学生成绩管理,包括修改、增加、删除
case3:
menu3();
break;//学生成绩统计,包括总分排名、及格人数等
case4:
menu4();
break;//学生成绩查询,按姓名,学号
case0:
exit();
break;//退出系统
default:
cout<<"\t对不起,输入有误"<break;
}
}while(choose!
=0);
}
4.2学生信息录入界面
在学生成绩录入界面里管理员可以进行学生信息的录入,运行效果如图4-2所示。
图4-2学生信息录入界面
设计思路:
利用for循环可以一次性输入多个学生信息,在for循环内利用cout和cin语句实现根据提示录入学生信息。
核心代码如下:
voidinput()//定义一个学生录入函数
{
cout<<"请输入需要录入的学生数量:
";
cin>>n;//学生数量
for(i=0;i{
cout<<"\n请输入第"<
"<cout<<"学号:
"<<'';
cin>>stu[i].number;
cout<<"姓名:
"<<'';
cin>>stu[i].name;
cout<<"性别:
"<<'';
cin>>stu[i].sex;
cout<<"班级:
"<<'';
cin>>stu[i].grade;
cout<<"科任老师:
"<<'';
cin>>stu[i].teacher;
cout<<"高等数学成绩:
"<<'';
cin>>stu[i].math;
cout<<"大学英语成绩:
"<<'';
cin>>stu[i].english;
cout<<"c++语言成绩:
"<<'';
cin>>stu[i].c;
cout<<"java成绩:
"<<'';
cin>>stu[i].java;
stu[i].sum=stu[i].math+stu[i].english+stu[i].c+stu[i].java;//总分计算
stu[i].ave=(stu[i].sum)/4.0;//平均分计算
}
cout<<'\n'<<"输入成功,0返回主界面"<cout<<"输入:
";
cin>>press;
switch(press)//选择操作
{
case'0':
break;
}}
4.3学生成绩管理界面
在学生信息操作界面有四个选项,分别为学生成绩修改、学生成绩、学生成绩删除以及返回到学生成绩管理系统主界面。
运行效果如图4-3所示。
图4-3学生成绩管理界面
设计思路:
利用do-while循环反复显示这一子界面的信息,利用cout语句输出信息,利用revamp_student()函数实现学生成绩的修改,increase_student()函数实现学生成绩的增加,delete_student()函数实现新学成绩的删除。
核心代码如下:
voidmenu2()//主界面下2号菜单函数
{
do{
cout<<"\n\t\t---------学生成绩管理----------"<cout<<"\t\t1.学生成绩修改"<cout<<"\t\t2.学生成绩增加"<cout<<"\t\t3.学生成绩删除"<cout<<"\t\t4.返回主界面"<cout<<"\t\t请输入1-4之间的任意一数字(仅限数字)"<cout<<"输入:
";
cin>>choose;
switch(choose)
{
case1:
revamp_student();break;//学生信息修改
case2:
increas