1 / 43
文档名称:

学生成绩排名系统--c 课程设计.doc

格式:doc   大小:1,692KB   页数:43页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

学生成绩排名系统--c 课程设计.doc

上传人:wsh309048309 2020/3/19 文件大小:1.65 MB

下载得到文件列表

学生成绩排名系统--c 课程设计.doc

文档介绍

文档介绍:淮海工学院计算机工程学院课程设计报告设计名称:C++程序设计课程设计姓名:学号:专业班级:系(院):设计时间:设计地点:成绩:指导教师评语:签名:,是在学生学****完《C++程序设计》课程后进行的一次全面的综合练****本课程设计的目的和任务:(1)巩固和加深学生对C++课程的基本知识的理解和掌握;(2)掌握C++编程和程序调试的基本技能;(3)利用C++进行简单软件设计的基本思路和方法;(4)提高运用C++解决实际问题的能力;(5)掌握书写程序设计说明文档的能力。:要求:1)设计题目、设计要求以及系统功能需求分析;2)总体设计:包括模块说明、模块结构图和系统流程图;3)详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;4)源程序代码及设计成果:完整源程序清单和设计成果;5)总结:调试分析过程描述:包括测试数据、测试输出结果以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等)包括课程设计过程中的学****体会与收获、对C++和本次课程设计的认识等内容.;任务:设计一个学生成绩排名系统,该系统的主要功能如下:1) 具备对成绩的管理功能(添加、删除、排序)2) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等)3) 具备按学号、姓名、或课程名查询成绩的功能。4)学生成绩应该保存在文件中。备注:成绩记录以下信息:班级,学号,姓名,课程名,成绩(百分制)。可以用能表示学生成绩的结构体数组存储数据。(一)需求分析(功能设计)一、模块说明在本次程序设计中我设计了七个个模块,分别是添加学生信息,对学生信息进行排序,删除学生信息,统计学生信息,查找学生信息,保存学生信息,退出系统。二、=7n=6n=5n=4n=3n=2paixu()tuichubaocun()search()cal()delet()add()menun=1YYYYYYYNNNNNN(二)详细设计(各模块流程图)各功能模块设计思路及流程图:【1】模块一:添加学生信息这一模块首先先输入你要输入的学生人数,然后通过键盘输入学生姓名,学生的班级,学生的学号,学生的高等数学的成绩,大学英语的成绩以及C++的成绩,然后将其读入文件中。流程图:主菜单输入c输入学生属性输入n=1输入ai<aYN不返回YNi++c=0c=0YN【2】模块二:对学生成绩进行排序这一模块首先通过switch语句选出对学生进行排序的方式,主要方式有按学号进行排序,按高等数学的成绩按从高到低进行排序,按英语成绩按从高到低进行排序,按C++成绩按从高到低进行排序这四种排序方式,选择方式之后,根据是否返回小菜单和主菜单进行1和0的选泽。流程图:主菜单Y输入n=2r=1NNr=0输入bNNYb=1输入rNYYYS=stu[j];stu[j]=stu[j-1];stu[j-1]=s;j++输入sj>ii<ab=3Ni++YYYS=stu[j];stu[j]=stu[j-1];stu[j-1]=s;j++输入sstu[j].mscore>stu[j].mscorestu[j-1].num>>j>ii<ab=2输入i=0j=n-1输入i=0j=n-1i++Ni<aj>istu[j].num>stu[j-1].num>>输入sS=stu[j];stu[j]=stu[j-1];stu[j-1]=sj++YYY输入i=0j=0stu[j].escore>stu[j-1].escore>>【3】模块三:删除学生信息这个模块通过输入学号找出你要删除的学生,然后通过循环语句将它后面的数一个一个的赋值给前面的数,从而把这个是给替代掉。达到删除的功能。流程图:主菜单num=stu[i].numnm输入i=0i<nj=ii=j+1YNi++输入numi<nYstu【i-1】=stu【i】输出信息i++【4】模块四:统计学生信息这个模块主要通过循环语句先算出各个学生的总成绩以及平均分,并且输出他们的信息,然后采用选择法选出总分最高以及最低的学生,并输出他们的名字。最后通过循环语句和if语句的结合算出各科成绩的及格率。最后返回主菜单。流程图:stu[i].total<min主菜单输入i=0i<nstu[i].total=stu[i].cscore+stu[i].mscore+stu[i].escore输出stu【i】.total输出stu【i】.total/3输入rstu【i】>=60r++;YY输入minmin=stu【0】.total输入i=0i<nmin=stu[i].tota