《数据结构学生成绩管理系统大型实验报告.docx》由会员分享,可在线阅读,更多相关《数据结构学生成绩管理系统大型实验报告.docx(24页珍藏版)》请在优知文库上搜索。
1、数据结构学生成绩管理系统大型实验报告目录1软件需求分析11.1 软件达到的目的11.2 软件功能说明11.3 设计环境12系统设计22.1数据结构设计22.1.1主要数据结构类型的分析与选择(逻辑结构).22.1.2数据结构中的数据对象以及具体的操作的确定.22.2对象设计222.1系统中的类及对象22.2.2类图设计32.3消息设计423.1对象之间的消息传递说明42.3.2关键算法设计42. 4界面设计63系统实现93. 1类的定义(存储结构)93.2关键源代码的实现123.2.1主函数源代码123.2.2主要功能的实现(功能描述、流程图或N-S图)143. 3软件测试(包括有效测试数据和
2、无效测试数据).184结果分析与总结204. 1结果分析205. 2总结211软件需求分析1.I软件达到的目的基础信息的输入。成绩的操作。查询功能。成绩统计。1.2软件功能说明基础信息的输入:即根据输入信息新增学生,班级或课工口teo成绩的操作:输入指定学生的成绩,并能够对成绩进行修改或删除。查询功能:查询某学生的所有成绩,查询某个班所有学生的成绩,或查询某门课所有学生的成绩。成绩统计:以班级为单位统计不及格,及格,中,良,优的人数,或以课程为单位统计不及格,及格,中,良,优的人数。1. 3设计环境操作系统:Winlopro64位开发工具:Dev-C+新建工程2系统设计2.1数据结构设计2.1
3、.1 主要数据结构类型的分析与选择(逻辑结构)学生管理,班级管理,课程管理与成绩管理中存储相应实例,使用链表存储,方便删除数据。2.1.2 数据结构中的数据对象以及具体的操作的确定数据结构中的数据对象为学生,班级,课程与成绩。对应学生的操作为增加学生,修改学生的姓名或班级。对应班级的操作为增加班级,查看班级的学生成员,与统计班级成绩。对应课程的操作为增加课程,统计该课程的成绩。对应成绩的操作为增加成绩,修改成绩,查询成绩,与删除成绩。2. 2对象设计2. 2.1系统中的类及对象学生学生管理班级班级管理课程课程管理成绩成绩管理2.2.2类图设计系统的类图如图2.1所示。学,:学生一班级:班级投率
4、?M,boo*m7,.bool+fX,l,(:string+学列龙“:void更新学生信总C:void制附学卡.()void+IM存信电():VOid+F阴短纨:BCO:+成缄按i(,void+搜索班级(,:Bcol+用级刘走:void+新增学生()void+更新学生与科void+m,Uvoid+保存(息Q:void+输出学牛例左U:voidf!11rr-或,:忖-i30-6一班级的:Strine-学人数:int学八列表学1“配bool,按汁成经0:VOid印附学生()void由H学生列衣C:VOId荻取班级幺()string*湍1端4172学生一学,strins-7:2:strins级名:s
5、trine诒中H-!.4冏除负”.,:-.决取学Ue:炊收姓么():长取班级名C统i*;分什voidboolboolooolvoid:voidstringstrins:string:double+我点隹F;:bool的增,“;:,.bool上,列/:,void系void一端;课仃-课F*三trruj!C:voidIStniu图2.1系统类图 学卞.3均分;J:double 按炭程0出哪。:VO2d技学;埔用或缄。void 用E成辅C:bool 更汕必阳;:bool 州除龙缄C:bool 统计成缄C:void 仅标佶息。:voidYlo-i9-rf:string?,.Ctrui*-,tVl:nt
6、HJIP.::.,I,.voidstring5tn11tintvoidH-1.T,!codenameclassname)(Studentnews(code,name,classname);students.addStudent(news);cm.AddStudent(news);)fin.close();同时在学生管理类和班级类中新增学生。修改学生信息:voidUpdateStudent(StudentManage8sm,ClassManage8cm)(stringcode?namejnewclassnamejoldclassname;COUtcode;if(!sm.searchStudent
7、(code)(Coilt“该学生不存在!endl;return;)elseCOUt”请输入新名字新班级原班级namenewclassnameoldclassname;if(!cm.searchClass(newclassname)COlrtx”该班级不存在!endl;return;)sm.UpdateStudent(code,name,newclassname);cm.UpdateStudent(code,name,newclassname,Oldclassname);)由于学生信息同时储存在学生管理类和班级类中,所以需要修改学生的话就需要同时修改学生管理类中的学生和班级类中的学生,修改班级类
8、中的学生,通过旧班级名和学号查找到指定学生并删除,然后根据新班级名插入新学生完成修改学生信息的操作。课程成绩统计:oidreportScoreByKchen(Scorescore,KchenManagekchens)(intbujigejjige?zhongjliangjyou;bujige=0;jige=0;zhong=0;Iiang=0;you=0;stringname;COUt”请输入课程名:(输入#退出)Zname;if(kchens.SearchKchen(name)(score.PrintByKchen(name);score.CountNum(namejbujige,jige,z
9、hong,Iiangjyou);)elseCOUt“查无该课程!endl;coutendl;COUt“不及格人数:bujigeendl;COUt”及格人数:“jigeendl;COUt“中人数:zhongendl;COUt良人数:liangendl;CoUt“优人数:you学校管理系统0、学生管理系统1、课程管理系统2、班级管理系统3、学生谶管理系统4、退出系坎学生管理系统0、增加学生1、修改学生2、删除学生3、学生列表4、返回上一级悌.狗拼音输1.课程管理系统:渔援甬率施繇绕制作人:朱永望DH:CodeRJSSei9Manage.exenc*4*-*学校管理0、学生管理系统2、班级管理系统1
10、、谡程管理系统3、学生成壤管理系统4.退出系统0、增加课程2、课程列表】、课程成绩统计3、返回上一级,向物音输2.班级管理系统:粒使用学校管理源,制作入:朱永鳖DK:CodeS3ESW5Manage.exe*#*#*村*A*:E*#*#*灯*-*料*单校管理系统0、学生管建系统2.班级管理系统1、课程管理系统3、学生所管理系统4、退出系统班级管理系统Ox增加班级2、班级列表1、班级颇统计3、班级成员4、返向上一级3学生成绩管理系统:C三H:CodeIBBei9Mandge.exe拼音输)3系统实现3.1类的定义(存储结构)课程类:classKchen(private:stringname;pu
11、blic:Kchen();Kchen(stringn):name(n);voidPrint(Score*t);stringgetName();;课程管理类:classKchenManageprivate:listallk;public:boolSearchKchen(stringname);booladdKchen(Kchenk);voidcoutAll();voidsave();;成绩类:classScoreNodeHprivate:stringcode;stringname;intscore;public:ScoreNode();ScoreNode(stringc,stringn,ints):code(c),name(n),score(s);voidPrint();stringgetName();stringgetCode();intgetScore();voidsetScore(ints);voidPrintByKchen();voidPrintByStudent();