学生成绩管理信息系统设计与开发.docx
《学生成绩管理信息系统设计与开发.docx》由会员分享,可在线阅读,更多相关《学生成绩管理信息系统设计与开发.docx(22页珍藏版)》请在冰豆网上搜索。
学生成绩管理信息系统设计与开发
目录
1需求分析1
1.1要求分析1
1.2.系统性能要求1
1.3.系统的功能分析:
1
1.4.系统功能模块1
2系统设计说明1
2.1模块设计与分析1
2.2.模块框架图2
3系统设计与实现3
3.1.界面设计3
3.2.功能设计与实现4
4测试结果4
5设计体会及今后的改进意见4
附录源程序代码5
1需求分析
1.1要求分析
1、用VC语言实现系统;
2、对学生信息(包括学号、姓名、语文,英语,数学,物理,化学,生物、平均分、总分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.
3、学生信息包括:
其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能:
(1).能对学生各科成绩进行录入:
。
(2).能对学生的成绩进行删除。
(3).能对学生的成绩进行修改。
(4).能对学生的成绩按总成绩,姓名,进行查询。
(5).能输出学生的所有数据。
(6).能进行成绩统计
1.2.系统性能要求
1.系统安全、可靠;
2.功能齐全;
3.操作方便、界面友好;
4易于维护和扩充。
1.3.系统的功能分析:
资料维护:
系统维护包括对学生信息的录入操作及数据表中的信息进行浏览。
系统功能:
可以对数据表中的信息进行浏览。
系统查询:
可以对学生的信息进行查询。
1.4.系统功能模块
学生成绩查询系统有:
成绩录入、增加、删除、修改,数据查询,。
2系统设计说明
2.1模块设计与分析
程序运行后会出现一个简捷的窗口,窗口提示输入m的值,m的值为0—8,分别对应如下8种功能:
(1)输入学生资料模块:
主要功能用来对学生的成绩进行收集和输入。
在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名。
在准确输入学生资料后,就可以对该学生的各科成绩进行录入。
该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。
(2)添加学生资料模块
主要功能是用来添加学生资料,成绩。
如果系统有保存学生资料的情况下,想录入学生成绩的话,就不用添加学生资料这模块。
如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进行其他的操作。
(3)删除学生资料模块
主要功能是用来删除学生资料。
在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资料后,就可以删除了。
由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化
(4)修改学生资料模块
主要功能是用来修改学生资料。
在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。
(5)按总成绩查询
在系统保存了某学生资料的前提下,想要查找该该成绩的学生,可以输入总成绩,这样系统就会显示该要学生资料和各科成绩等信息
(6)按姓名查询成绩
主要功能是用来查找学生资料。
在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息
(7)输出所有的学生成绩
主要功能用来对学生的成绩进行输出。
在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等。
具体包括学生的班级,学号,姓名和各科成绩。
在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单。
(8)
在系统已经录入了学生资料成绩的前提下,使用该功能可以显示学生平均成绩的信息,资料等等
2.2.模块框架图
图2-1模块框架图
3系统设计与实现
3.1.界面设计
程序运行后会出现一个简捷的窗口,便于用户查询数据。
如图:
图3-1程序主界面
3.2.功能设计与实现
通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。
应用系统主控界面包括记录编辑和记录查询等功能模块。
记录编辑功能完成学生成绩记录编辑和记录查询功能。
记录查询功能可以对数据各分类的记录进行查询
4测试结果
每一个case都能执行,但是有很多的地方都不够完善,例如:
在总成绩排序中,只能输出总成绩,不能单独的输出学生的相应的信息;每次进行别的操作之前都要在进行一次数据的录入,不能直接对原有的文件进行读取。
5设计体会及今后的改进意见
此次课程设计,在指导教师的精心教导下,我们学会了如何用C++编写一个简单的应用程序。
根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序,首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。
程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。
进一步加深对C++语言的理解和掌握。
理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。
我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。
附录源程序代码
#include
#include
#include
#include
#include
usingnamespacestd;
classTstu//通过定义一个类来定义数据录入的函数
{
charname[20];
intnumber;
floatyu,sheng,wu,math,hua,english,average,sum;
public:
Tstu()
{};
Tstu(charn[20],intnum,floatma,floatcj,floateng,doubleshen,doublehu,doubley);
floatgetsum();//得到总分的函数
floatgetaver();//得到平均分的函数
friendvoidmain();//将主函数定义为友元函数,方便访问类中的成员
};
Tstu:
:
Tstu(charn[20],intnum,floatma,floatcj,floateng,doubleshen,doublehu,doubley)
{
strcpy(name,n);//得到姓名
number=num;//得到学号
math=ma;//得到数学成绩
wu=cj;//得到物理成绩
english=eng;//得到英语成绩
sheng=shen;//得到生物成绩
hua=hu;//得到化学成绩
yu=y;//得到语文成绩
}
floatTstu:
:
getsum()//得到总分的函数
{
sum=english+math+yu+sheng+wu+hua;
returnsum;
}
floatTstu:
:
getaver()//得到平均分的函数
{
average=getsum()/6;
returnaverage;
}
voidmain()
{
cout<<"*****************欢迎来到学生成绩查询系统*****************"<cout<<"请选择您需要的操作!
"<cout<<"操作:
"<cout<<"
(1)数据录入"<cout<<"
(2)增加学生"<cout<<"(3)删除学生"<cout<<"(4)修改数据"<cout<<"查询:
"<cout<<"(5)按总成绩查询"<cout<<"(6)按姓名查询"<cout<<"(7)输出所有学生的数据"<cout<<"成绩统计:
"<cout<<"(8)每个学生的平均成绩"<cout<<"选择相关操作请输入相对的括号里的阿拉伯数字及字母!
"<intp=0;//全局变量,用于选择菜单时的输入
charw;//全局变量,用于在大项中选择是否继续操作
Tstu*s[100];//类定义的指针将所录入的数据按类中的形式分别存储
ofstream*file[100];
inti=0;//全局变量,用于做每个录入数据的下标
intj=0;
intchris1=0;//用于判断do-while语句
do//判断输入是否正确
{cin>>p;
if((p>=1&&p<=11))
chris1=1;
else
cout<<"指令错误!
请重新输入:
"<}while(chris1==0);
do{
switch(p)
{case1:
//数据的录入
{charc;//用于在小项中选择是否继续操作
charname[20];
intnumber;
floatmath,wu,english,yu,sheng,hua;
do{
cout<<"请输入姓名:
"<cin>>name;
cout<<"请输入学号:
"<cin>>number;
cout<<"请输入语文成绩:
"<cin>>yu;
cout<<"请输入数学成绩:
"<cin>>math;
cout<<"请输入物理成绩:
"<cin>>wu;
cout<<"请输入英语成绩:
"<cin>>english;
cout<<"请输入化学成绩:
"<cin>>hua;
cout<<"请输入生物成绩:
"<cin>>sheng;
fstreamoutfile,infile;//作一个文本文档在文件夹中用于显示所录入的数据
outfile.open("f1.txt",ios:
:
out|ios:
:
app);
if(!
file)
{cout<<"f1.txtcannotopen.\n";
return;
}
outfile<"<"<