学生成绩管理系统课程设计报告

上传人:工**** 文档编号:469342576 上传时间:2023-01-09 格式:DOC 页数:31 大小:472.01KB
返回 下载 相关 举报
学生成绩管理系统课程设计报告_第1页
第1页 / 共31页
学生成绩管理系统课程设计报告_第2页
第2页 / 共31页
学生成绩管理系统课程设计报告_第3页
第3页 / 共31页
学生成绩管理系统课程设计报告_第4页
第4页 / 共31页
学生成绩管理系统课程设计报告_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《学生成绩管理系统课程设计报告》由会员分享,可在线阅读,更多相关《学生成绩管理系统课程设计报告(31页珍藏版)》请在金锄头文库上搜索。

1、计算机与软件工程学院C+课程设计报告选题:学生成绩管理系统专业班级:时间:2016/6/202016/6/29指导教师:完成日期:2016/6/27一、课题描述管理内容包括:学号、姓名、班级、五门课成绩。主要功能有:添加、修改、删除、读出、写入、查找、排序、计算总分、平均分、分类汇总等。编写代码,运行程序后,显现下面的参考界面:成绩管理=1输入学生成绩2修改学生成绩3删除学生成绩4计算每位学生的总分5计算每位学生的平均分6按学号或姓名查询学生成绩7按班级查询学生成绩8成绩排序9按班级统计学科总分、平均分等请选择(19,0:退出):二、需求分析开发一个学生成绩管理系统的目的,主要是对查询学生成绩

2、过程中的所有信息进行更加科学、规范和有效的综合管理,是为了让同学们能在任何时候都能查阅到有关自己学科成绩有关的信息,也有利于让他们充分了解有关自己在大学期间所有课程的学习情况,提高查询速度。该学生成绩管理系统主要包括期末成绩管理、具体的查询等。本系统还提供学生相关的基本信息统计、汇总、查询,这样便于辅助学校领导的学生管理工作,改善管理质量、提高管理效率包括本班的每一位学生在校期间的基本情况与课程绩汇总。本系统利用C+面向对象的功能,实现对学生成绩的管理。主要功能为管理有关学生基本信息、成绩课程等,对每个学生的基本信息、专业成绩信息、选修课成绩信息、课程信息的查询、修改和删除。本系统的结构分为学

3、生基本情况管理模块、学生成绩管理模块、学生课程管理模块。这是一个很实际的编程实例。编程要求很详细,内容也比较多,有一定难度。首先,学生成绩记录是一个复杂的数据结构,至少应包括学号,姓名,性别和成绩。所以,必须建立一个类student,用来记录班级,学号,姓名和成绩。此外还得建立一个类对象数组s180,用来记录多个学生的成绩记录。模块设计与分析(1)输入学生资料模块:主要功能用来对学生的成绩进行收集和输入。在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名。在准确输入学生资料后,就可以对该学生的各科成绩进行录入。该学生各科成绩输入成功后,系统会提示是否继续进行操作,如

4、果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。(2)输出学生资料模块:主要功能用来对学生的成绩进行输出。在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等。具体包括学生的班级,学号,姓名和各科成绩。在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单。(3)按条件进行排列模块主要功能是用来对学生的资料进行排序。在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料进行排序,这样就方便查找同一类同学的资料。(4)添加学生资料模块主要功能是用来添加学生资料,成绩。如果系统有保存学生资料的情况下,想录入学

5、生成绩的话,就不用添加学生资料这模块。如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进行其他的操作。(5)按姓名查找,删除该学生资料模块主要功能是用来删除学生资料。在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资料后,就可以删除了。由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化(6)查找并显示学生资料模块主要功能是用来查找学生资料。在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息 (7)按姓名查找,修改学生资料模块主要功

6、能是用来修改学生资料。在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。(8)把数据保存至文件模块主要功能是用来把学生数据保存至txt文件。这样一些资料可以用Word文档,进行编辑故在此模块中增加了导出数据的功能。这样就方便很多,不用把学生资料一个一个添加至word文档,节省了很多时间精力。代码编写分析在main()函数中主要运用do-while循环语句和switch()-case选择判断语句来调用相关功能模块。系统的运行是在一个永真的循环里进行的,只有在主界面并选择“退出”时,才会跳出永真循

7、环,并退出程序。for(;)switch(menu()类中有两个成员函数一个用来输入是调用,一个是在修改的时候调用void Student1(char cla1,double num1,char name1,double chinese1,double math1,double english1,double wuli1)void Student2(double chinese1,double math1,double english1,double wuli1)void tot() /计算学生成绩的总分void ave() /计算学生成绩的平均分double getchinese() /将学

8、生的语文成绩取出double getmath() /将学生的数学成绩取出double getenglish() /将学生的英语成绩取出double getwuli() /将学生的物理成绩取出double getnum() /将学生的学号取出double getzongfen() /将学生的总分取出double getaverage() /将学生的平均分取出char *getname() /将学生的名字取出char *getcla() /将学生的班级取出void pf() /用于学生的成绩输出ofstream fout(d:studentinformation.txt,ios:out); /用于

9、打开文件将数据存入结构图:学生成绩管理系统退出系统按班级统学科总分平均分按条件查询学生成绩计算每位学生总分和平均分成绩排序删除学生成绩修改学生成绩输出学生成绩将学生信息写入文件中输入学生成绩运行与测试程序调试:如图是系统的主界面 如图是输入学生资料的界面 如图是将学生资料保存至文件的界面 如图是将学生成绩输出的界面 如图是按照学号修改学生成绩 如图是按照学号删除学生成绩 如图是计算学生的总分和平均分 如图是按条件查找学生成绩的界面 如图是按照条件对成绩排序 如图是按班级统计各个学科的总分平均分的界面 如图是退出系统的提示界面三、课程设计总结这是一个综合性较强,很实际的一个编程实例。刚学C+时候

10、,感觉类和对象还挺有意思的,刚接触到这个题目时,觉得应该没什么大问题吧,因为,我自认为一些基本知识点都已经掌握了。可是,真的当我动手编程的时候,才发现并没有想象中的那么简单。单个知识点是弄清了,但是,将所有的知识点综合起来运用时,就碰到了各种各样的问题了。有时候,一个错误得找好久,才能发现。本系统的重点就是要会建立一个学生类student,用来存放一个学生的成绩记录,相当于一个结构体的功能吧。类里的各个功能的实现。总的来说,添加,显示,查找,这三个功能比较容易,但是,删除,保存这三个功能就需要花点心思了,可能是平时用的比较少吧,生疏了。可见只有通过平时多加练习,才能有助于自己巩固知识点。最后想

11、说的是,调试程序真的很关键。调试程序需要较大的耐心。可能调试程序的时间比自己编写整个程序的时间还要长,下的工夫还要深,但这是一个程序员必须了解,也必须接受的事实。有好几次,几个错误让我很是头疼啊,很想删了,重新来过,可是最后发现,还是得有耐心去调试程序。通过这个实验的练习,我也学到了很多东西,特别是加深了对类和对象理解和应用方面,也很谢谢老师给我的帮助。四、源代码#include#include#include#include#include#include#include using namespace std;class Studentprivate:char cla10;char nam

12、e10;double num;double chinese;double math;double english;double wuli;double sum;double average;double total;bool Status;public:void Student1(char cla1,double num1,char name1,double chinese1,double math1,double english1,double wuli1)chinese=chinese1;math=math1;english=english1;wuli=wuli1;num=num1;str

13、cpy(name,name1);strcpy(cla,cla1); void Student2(double chinese1,double math1,double english1,double wuli1)chinese=chinese1;math=math1;english=english1;wuli=wuli1;void tot()total=chinese+math+english+wuli;void ave()average=(chinese+math+english+wuli)/4;double getchinese()return chinese;double getmath()return math;double getenglish()return english;double getwuli()return wuli;double getnum()return num;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号