欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

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

    • 资源ID:6830755       资源大小:223.83KB        全文页数:24页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    数据结构学生成绩管理系统大型实验报告目录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软件测试(包括有效测试数据和无效测试数据).184结果分析与总结204. 1结果分析205. 2总结211软件需求分析1.I软件达到的目的基础信息的输入。成绩的操作。查询功能。成绩统计。1.2软件功能说明基础信息的输入:即根据输入信息新增学生,班级或课工口teo成绩的操作:输入指定学生的成绩,并能够对成绩进行修改或删除。查询功能:查询某学生的所有成绩,查询某个班所有学生的成绩,或查询某门课所有学生的成绩。成绩统计:以班级为单位统计不及格,及格,中,良,优的人数,或以课程为单位统计不及格,及格,中,良,优的人数。1. 3设计环境操作系统:Winlopro64位开发工具:Dev-C+新建工程2系统设计2.1数据结构设计2.1.1 主要数据结构类型的分析与选择(逻辑结构)学生管理,班级管理,课程管理与成绩管理中存储相应实例,使用链表存储,方便删除数据。2.1.2 数据结构中的数据对象以及具体的操作的确定数据结构中的数据对象为学生,班级,课程与成绩。对应学生的操作为增加学生,修改学生的姓名或班级。对应班级的操作为增加班级,查看班级的学生成员,与统计班级成绩。对应课程的操作为增加课程,统计该课程的成绩。对应成绩的操作为增加成绩,修改成绩,查询成绩,与删除成绩。2. 2对象设计2. 2.1系统中的类及对象学生学生管理班级班级管理课程课程管理成绩成绩管理2.2.2类图设计系统的类图如图2.1所示。学',:学生一班级:班级投率?'M,boo*m7,.'.bool+fX¾,l,(:string+学列龙“:void更新学生信总C:void制附学卡.()void+IM存信电():VOid+F阴短纨:BCO:+成缄按i(,void+搜索班级(,:Bcol+用级刘走:void+新增学生()void+更新学生与科"void+m,U>void+保存(息Q:void+输出学牛例左U:voidf!11rr-或,':忖-i30-«6一班级的:Strine-学'人数:int学八列表学'1“配bool,按汁成经0:VOid印附学生()void由H学生列衣C:VOId荻取班级幺()string*湍1端4172学生一学,strins-7:2:strins级名:strine诒中H-!.4冏除负”.,:-.决取学Ue:炊收姓么():长取班级名C统i*;分什voidboolboolooolvoid:voidstringstrins:string:double+我点隹F;:>bool的增,“;:,.bool上,'列/:,void系void一端;课仃-课F*三trruj!C:void'I''Stniu图2.1系统类图 学卞.3均分;J:double 按炭程0出哪«。:VO2d技学';埔用或缄。void 用E成辅C:bool 更汕必阳;:bool 州除龙缄C:bool 统计成缄C:void 仅标佶息。:voidYlo-i9-rf:string?,.Ctrui*-,>tVl:ntHJIP.::.,I,.voidstring5tn11tintvoidH-1.T,!<÷:void,:VOZG2.3消息设计2.3.1对象之间的消息传递说明在设计类时设计接口,不同对象间通过接口传递消息。2.3.2关键算法设计新增学生:IVOidinitStudent(StudentManageSstudents,ClassManage8cm)(ifstreamfin;fin.open("student.txt");stringcode?name?classname;while(fin>>code>>name>>classname)(Studentnews(code,name,classname);students.addStudent(news);cm.AddStudent(news);)fin.close();同时在学生管理类和班级类中新增学生。修改学生信息:voidUpdateStudent(StudentManage8sm,ClassManage8cm)(stringcode?namejnewclassnamejoldclassname;COUt<<“请输入需要修改学生的学号”“endl;cin>>code;if(!sm.searchStudent(code)(Coilt<<“该学生不存在!"<<endl;return;)elseCOUt<<”请输入新名字新班级原班级"<<endl;cin>>name>>newclassname>>oldclassname;if(!cm.searchClass(newclassname)COlrtx”该班级不存在!"<<endl;return;)sm.UpdateStudent(code,name,newclassname);cm.UpdateStudent(code,name,newclassname,Oldclassname);)由于学生信息同时储存在学生管理类和班级类中,所以需要修改学生的话就需要同时修改学生管理类中的学生和班级类中的学生,修改班级类中的学生,通过旧班级名和学号查找到指定学生并删除,然后根据新班级名插入新学生完成修改学生信息的操作。课程成绩统计:oidreportScoreByKchen(Scorescore,KchenManagekchens)(intbujigejjige?zhongjliangjyou;bujige=0;jige=0;zhong=0;Iiang=0;you=0;stringname;COUt”请输入课程名:(输入#退出)Z<endl;cin>>name;if(kchens.SearchKchen(name)(score.PrintByKchen(name);score.CountNum(namejbujige,jige,zhong,Iiangjyou);)elseCOUt<<“查无该课程!"<<endl;cout<<endl;COUt<<“不及格人数:"<<bujige<<endl;COUt<<”及格人数:“<<jige<<endl;COUt<<“中人数:"<<zhong<<endl;COUt<<"良人数:"<<liang<<endl;CoUt<<“优人数:"<<you<<endl;)输入课程名,在成绩管理类中搜索课程名对应的数据并统计值。2.4界面设计根据不同的功能设计不同的界面。主界面如下:D½J5HCode5S19Manage.exe渔援甬率施繇绕制作人:朱永望学校管理系统0、学生管理系统2、班级管理系统1、谡程管理系统3、学生成壤管理系统4.退出系统摸狗注音痂入法0.学生管理系统:IH:CcxieIHBftn9Manage.exe绛镯豌S魏警馥翳制作人:朱永望*料*4*-*=*#料*#*杆*4*A*3T*A*aMc*A*>学校管理系统0、学生管理系统1、课程管理系统2、班级管理系统3、学生谶管理系统4、退出系坎学生管理系统0、增加学生1、修改学生2、删除学生3、学生列表4、返回上一级悌.狗拼音输1.课程管理系统:渔援甬率施繇绕制作人:朱永望DH:CodeRJSSei9Manage.exenc*4*-*学校管理0、学生管理系统2、班级管理系统1、谡程管理系统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;public:Kchen();Kchen(stringn):name(n);voidPrint(Score*t);stringgetName();;课程管理类:classKchenManageprivate:list<Kchen>allk;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();B;成绩管理类:classScoreprivate:list<ScoreNode>sc;public:doubleAverageStudent(stringcode);voidPrintByKchen(stringname);voidPrintByStudent(stringcode);boolAddScoreNode(ScoreNodescore);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)(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);;学生管理类:classStudentManageprivate:list<Student>alls;public:boolsearchstudent(stringcode);booladdStudent(Students);stringreturnName(stringcode);voidcoutStudent();voidUpdateStudent(stringcode,stringname,stringclassname);voidDeleteStudent(stringcode);voidsave();;班级类:classClassprivate:stringname;intStudentNum;list<Student>s;public:Class()(StudentNum=0;)Class(stringn)name=n;StudentNum=0;)booladdStudent(Studentdata);voidCoutScore(Score*score);voidDeleteStudent(stringcode);voidCoutStudent();stringgetName();;班级管理类:classClassManageprivate:list<Class>allc;public:booladdClass(Classc);voidReport(Scorescore);boolSearChCIaSS(Stringname);voidcoutAll();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();while(cin>>num)(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图)新增学生功能:修改成绩功能:删除成绩功能: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八.于土小弓请输入课程名*计算机组成原理1S½rfs,有效数据: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:由40wI"Fa皆无该课程!4结果分析与总结4.1 结果分析该程序主要功能完成(对班级,课程的增加,学生和成绩的增删改查),结构稳定,并有合理的提示。但由于时间不是特别充裕,有些模块以及整个系统还有很多不完善的地方,如界面不够美观,部分操作较为繁琐,部分实现不够简洁,操作性不太友好等。4.2 总结通过这次数据结构实验的实践训练,进一步掌握了面向对象程序开发的思维方式,加深了对面向对象开发的各种优点的理解。对如何把现实中的一些关系转化为程序中类与类之间关系的实践过程有了一点了解,提高了编程能力,培养综合分析、解决问题的能力。

    注意事项

    本文(数据结构学生成绩管理系统大型实验报告.docx)为本站会员(李司机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开