数据结构学生成绩管理系统大型实验报告.docx

上传人:李司机 文档编号:6830755 上传时间:2024-03-01 格式:DOCX 页数:24 大小:223.83KB
返回 下载 相关 举报
数据结构学生成绩管理系统大型实验报告.docx_第1页
第1页 / 共24页
数据结构学生成绩管理系统大型实验报告.docx_第2页
第2页 / 共24页
数据结构学生成绩管理系统大型实验报告.docx_第3页
第3页 / 共24页
数据结构学生成绩管理系统大型实验报告.docx_第4页
第4页 / 共24页
数据结构学生成绩管理系统大型实验报告.docx_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《数据结构学生成绩管理系统大型实验报告.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

12、):code(c),name(n),score(s);voidPrint();stringgetName();stringgetCode();intgetScore();voidsetScore(ints);voidPrintByKchen();voidPrintByStudent();B;成绩管理类:classScoreprivate:listsc;public:doubleAverageStudent(stringcode);voidPrintByKchen(stringname);voidPrintByStudent(stringcode);boolAddScoreNode(ScoreN

13、odescore);boolUpdateScoreNode(stringcode,stringname,intscore);boolDeleteScoreNode(stringcode,stringname);voidCountNum(stringname,intSbujige,int&jige,intSzhong,int81iang,int8you);voidsave();学生类:classStudentprivate:stringcode;stringname;stringclassname;public:Student();Student(stringc?stringnjstringcn

14、)(code=c;name=n;classname=cn;;voidPrint(Score*score);voidaddScore(Score*score,ScoreNodenews);voidUpdateScore(Score*update);voiddeleteScore(Score*delet);voidsetName(stringn);voidsetclassname(stringclassname);stringgetCode();stringgetName();stringgetClassname();doubleaverageScore(Score*score);;学生管理类:c

15、lassStudentManageprivate:listalls;public:boolsearchstudent(stringcode);booladdStudent(Students);stringreturnName(stringcode);voidcoutStudent();voidUpdateStudent(stringcode,stringname,stringclassname);voidDeleteStudent(stringcode);voidsave();;班级类:classClassprivate:stringname;intStudentNum;lists;publi

16、c:Class()(StudentNum=0;)Class(stringn)name=n;StudentNum=0;)booladdStudent(Studentdata);voidCoutScore(Score*score);voidDeleteStudent(stringcode);voidCoutStudent();stringgetName();;班级管理类:classClassManageprivate:listallc;public:booladdClass(Classc);voidReport(Scorescore);boolSearChCIaSS(Stringname);voi

17、dcoutAll();voidAddStUdent(StUdents);voidUpdateStudent(stringcode,stringname,stringnewcIassname,stringoldcIassname);voidremovestudent(stringcode);voidsave。;voidcOutStudent();3.2关键源代码的实现3.2.1主函数源代码intmain()intnum;Scorescore;ClassManagecm;KchenManagekcs;StudentManagests;init(cm,score,sts,kcs);menu();wh

18、ile(cinnum)(switch(num)case0:studentmenu(sts,cm);break;case 1:kchenmenu(kcs,score);break;case 2:classmenu(cm,score);break;case 3:scoremenu(score,sts,kcs);break;case 4:SAVE(cm,score,sts,kcs);exit(0);default:CoUt请输入正确数据Xendl;break;)SySteni(cls);menu();)returnO;)3.2.2主要功能的实现(功能描述、流程图或N-S图)新增学生功能:修改成绩功能

19、:删除成绩功能:3.3软件测试(包括有效测试数据和无效测试数据)以登记成绩为例:CB H:CodeCQEttH9Manage.exe无效数据:WjW!生d化人.土*,包WiFA.木木56安校管理系统0、学生话连系统2、班级管建系统1、谭.程管理系统3、学生期管理系统4、退出系统患管理系统情输入学生,无效课程:干生成绩修改学生成绩登记H:c0dzsjBswMarmg2ce26输子无K清电S无效成绩(小于O或大于Io0):3H:CodeJ5SBW9Manage.exe请输人学生学号:0226请榭人课E否!电子a查无该谭程!注坨A4-OIhW八.于土小弓请输入课程名*计算机组成原理1Srfs,有效数

20、据:U0、学生成绩查询2、删除学生成绩U学生成绩修改3、学生成绩登记4、返回上一级应结百理二统3 5H:CodeS3ESSI5Managexe系统学校管理1迎使再学校管建系统! 制作人:朱永里0、学生管理系统 2、班级管理系统I、谭.程管理系统3、学生膜管理系统4、退出系统慢司汨F-3 HzCodeJQB15Managexe- U电计m C剑44库结结:1 +据据据子请输入学生学号S)226!*1:由40wIFa皆无该课程!4结果分析与总结4.1 结果分析该程序主要功能完成(对班级,课程的增加,学生和成绩的增删改查),结构稳定,并有合理的提示。但由于时间不是特别充裕,有些模块以及整个系统还有很多不完善的地方,如界面不够美观,部分操作较为繁琐,部分实现不够简洁,操作性不太友好等。4.2 总结通过这次数据结构实验的实践训练,进一步掌握了面向对象程序开发的思维方式,加深了对面向对象开发的各种优点的理解。对如何把现实中的一些关系转化为程序中类与类之间关系的实践过程有了一点了解,提高了编程能力,培养综合分析、解决问题的能力。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号