学生成绩管理系统实习报告附代码.doc
《学生成绩管理系统实习报告附代码.doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统实习报告附代码.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、唐 山 学 院 数据结构 课 程 设 计 题 目 学生成绩管理系统设计与实现 系 (部) 计算机科学与技术系 班 级 姓 名 学 号 指导教师 2013 年 1 月 4 日至 1 月 11 日 共 1 周2013 年 1 月 11 日 数据结构 课程设计任务书一、设计题目、内容及要求1、设计题目:学生成绩管理系统设计与实现。2、设计内容及要求: (1)查询功能:可以通过姓名、学号进行查询学生成绩,同时可以查询有不及格科目的学生。(2)录入功能:能够录入学生成绩(包括:学号、姓名、至少3门课程的成绩、总分、平均分等信息)。总分和平均分自动计算。(3)排序功能:能够对学生成绩进行排序并可以浏览排序
2、结果。(4)统计功能:能够统计出优秀、良好、中等、及格和不及格这五个等级的人数。二、要求的设计成果(课程设计说明书、设计实物、图纸等)1、用C语言进行程序设计,实现系统的功能。注重算法效率,代码要有适当的注释;2、撰写课程设计说明书一份,不少于2000字。课程设计说明书应包括封面、任务书、成绩评定表、正文(设计思路、设计步骤等)、参考文献(资料)、附录(程序代码)等内容。三、进程安排12月31日:进行需求分析,确定系统的主要功能和算法思路;1月1日1月2日:进行详细设计,确定各模块的算法思路;1月3日1月4日:进行编码实现;1月7日1月10日:进行测试调试,完善设计;撰写设计说明书,准备答辩;
3、1月11日:答辩。四、主要参考资料 1.严蔚敏,吴伟民.数据结构.清华大学出版社,2007.2.苏仕华.数据结构课程设计.机械工业出版社,2010.3.滕国文.数据结构课程设计.清华大学出版社,2010.指导教师(签名):教研室主任(签名):课程设计成绩评定表出勤情况出勤天数 缺勤天数成绩评定出勤情况及设计过程表现(20分)课设答辩(20分)设计成果(60分)总成绩(100分)提问(答辩)问题情况综合评定 指导教师签名: 年 月 日1 引 言1.1 背景在21世纪,以高科技为核心的知识经济将占主导地位,国家的综合国力和国际竞争力将越来越取决于科学技术创新水平。教育作为知识创新、传播和应用的基础
4、,培养和输送人才的摇篮,已经成为经济发展和社会进步的基础。尽管人类进步的程度随着不同时代,不同地区而有所变化,教育的口径却在不断扩宽,以便使过去仅供少数人使用的教育资源能够为更多各种年龄、不同社会阶层和背景的人们所用。在信息爆炸的时代,传统教学管理面临着诸多挑战。管理现代化,办公自动化和决策科学化,是现代办公管理发展的必然趋势。随着信息社会的不断发展,计算机的使用已经深入到人们工作生活中的每一个角落。而人们对数据库的运作和依赖同样也是计算机出现后的一大优势,在学校管理领域,引入计算机管理系统,可以大大提高管理效率和质量,是学校进行现代化、标准化建设的必然趋势。学生成绩管理工作被视作高校管理工作
5、中一项不容忽视的重要分支,其工作量大,涉及面广,学生成绩管理工作运行的好坏直接影响着整个高校管理工作的各个环节。由于成绩管理工作的本身特点及特殊性质,单纯依靠人力,会使从事这项工作的管理人员过度缠身于繁琐的业务中,难免会发生许多错误,难以做到管理的规范化,这不符合管理工作的今后发展趋势。因此,需要开发一种功能全面,操作简便的管理系统软件来补助作用,人机配合,能够使机器承担部分工作,使管理员逐步摆脱一些无谓的,琐碎的业务,这对充分利用人力资源的主导作用及使管理工作逐步步入规范化轨道有着重要意义。1.2 内容 学生成绩管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及
6、前端应用程序的开发两个方面。对于前者要求建立起数据一致性1和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统主要完成对学生成绩的管理,包括添加、修改、删除,查询,打印等几个方面。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将自动地影响其它的表,当完成添加或删除操作时系统会自动地完成学生成绩的修改。查询功能也是系统的核心之一。2 问题分析(1)本题目主要涉及到顺序表的使用及排序的基本操作。(2)学生成绩管理系统的主要目的就是利用软件实现成绩的录入、查询、修改等功能,使教师对学生成绩的管理
7、更加容易,提高工作效率、降低管理成本,同时也方便于学生对自己信息的查询。 (3)成绩管理系统主要涉及到对大量学生信息的操作,因此选用线性表。又因为该软件主要是对学生各科成绩求总和和平均值及对按学生成绩分等级,很少有插入和删除操作,通过以上分析,我选择了顺序表的存储方式,成绩管理系统的存储结构如下:struct student /定义学生信息 int No; /学号 char name20; /姓名 char grade20; /班别 char term20; /年级 float score1; /大学物理 float score2; /电子技术 float score3; /英语 float
8、score4; /数据结构 float sort; /排序成绩 float ave; /平均分 float sum; /总分3总体设计该成绩管理系统采用顺序表存储学生信息及成绩。顺序表的每一条记录又包括好几个一维数组。班级、学号、姓名都是一维数组,各科成绩都是整型变量。因为该系统主要是对每条记录进行的操作,所以顺序表比较容易实现。学生成绩管理系统查询某一学生成绩输出所有学生成绩求总分和平均分排序查找不及格学生修改和删除某同学成绩输入学生成绩图3-1 系统模块结构图输入:输入学生相关信息己各科成绩。求和:软件自动计算总分和平均分。与此同时在表的下方显示优秀,良好,中等,及格,不及格五个等级的学生
9、人数。查询:人用的输入某一同学学号或姓名,系统进行输出。修改:修改原先输入有错的学生信息。删除:查找不及格学生:四门成绩中有一门不及格就算不及格输出:用一个循环将所有成绩输出。退出:退出学生成绩管理系统。4详细设计程序分为录入、显示、添加、修改、删除、查询显示不及格情况六个部分。录入部分根据提示由用户自己输入学生的信息和成绩,然后系统会自行通过一个for循环实现对每个同学的总成绩和平均成绩的一个运算。然后是对同学的平均分进行排序。同时在表的最下方显示优秀、良好、中等、及格及不及格五个等级的同学人数(这里的等级分布为平均分的等级分布)。实现这一结果用的是一个switch语句。switch(int
10、(stuj.ave/10) *利用switch语句统计各个等级的学生人数*/case 10:case 9:A+;break;/*统计优秀学生人数*/case 8:B+;break;/*统计良好学生人数*/case 7:C+;break;/*统计中等学生人数*/case 6:D+;break;/*统计及格学生人数*/default :E+;/*统计不及格学生人数*/4.1 录入模块主要是最后执行的时候输入每个学生的信息和成绩。4.1.1设计思路 根据所有学生信息,按班级、学号、姓名、数字逻辑成绩、数据结构成绩、英语成绩、物理成绩的顺序依次将每个学生的信息输入。4.1.2 流程图 开始新建顺序表输
11、入学生信息输入学期输入班别输入学号输入姓名输入成绩4输入成绩3输入成绩2输入成绩1返回主菜单结束4.2 计算模块用for循环,将每个学生的总分和平均分计算出来记在相应的位置。同时计算出优秀、良好、中等、及格和不及格五个等级的同学的个数。其流程图为开始及格并标记D不及格并标记E结束中等并标记C良好并标记B优秀并标记Aswitch4.3 查找和修改部分实现通过学号来查找和修改同学的信息及各科成绩。4.4 显示不及格情况用来显示同学不及格的科目。4.5整个程序模块整个程序的流程图为计算总分和平均分switch语句分级优秀并标记A良好并标记B中等并标记C及格并标记D不及格并标记E输出不及格学生新建顺序
12、表结束返回主菜单查询某个学生5运行测试开始运行时程序页面如下图5.1登录页面按任意键继续为图5-2 菜单选择页面选择1为图5-3 信息录入功能输入学生的基本信息和各科成绩不继续输入时需要输入“n”。选择2时,显示学生的成绩信息图5-4 显示排序和统计功能选择3时可以添加错过的学生信息图5-5 添加功能我们可以看到“张飞”已经添加进去了图5-6选择4为删除学生的信息:图5-7删除功能返回后我们可以看到“刘备”删除了图5-8选择5时为修改学生信息,我们可以看到表中由一位同学的信息输入有误我们现在来对其进行修改。输入名字对其进行修改图5-9 修改功能 选择6时实现的是对学生信息的查询图5-10 查询
13、功能选择7时实现的是学生不及格的情况图5-11不及格同学及不及格科目6总结整个程序的存储方式均是顺序链表,使得该系统在进行插入和删除时大大降低了效率,因为每删除或插入一个数据都要进行大量的移动,但是顺序表的存储和其他操作都较为简单易懂,所以基于现在编写的仅是一个较小的系统,输入数据也不会太多,根据自己对程序的掌握的程度还是选择了顺序表的存储结构。但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。我受到了指导老师细心指导,老师严谨的指导态度与深厚的理论知识都让我受益非浅,从他身上我学到了很多的东西,无论是理论还是实
14、践都使我的知识有很大的提高.借此我特提出感谢.通过这次课设,使我对C语言有了更深刻的了解,让我认识到,好多东西,学会并不一定了解,只有用这些东西去实践,才能更好理解这些,要真正消化所学的知识,实践是最好的办法。计算机有许多深奥的东西,只要我们肯钻研,会享受意想不到的快乐。作为国家的新一代,我们要肩负重任,努力学习。数据结构教会我们要独立思考,对一个问题要有自己的想法,有自己的思路。而且对同一个问题,要想法找最简单、少时最少、效率最高的方法。虽然这些天来很辛苦但是自己对C语言和数据结构的深入理解也使自己很开心很踏实。以后为了使自己能更加透彻的理解计算机方面的知识我会将理论与实践结合起来,使自己在
15、不断的实践中完善自己,提升自己。参考文献1 严蔚敏,吴伟民数据结构北京:清华大学出版社,2008 2 苏仕华数据结构课程设计北京:机械工业出版社,2010.3 .滕国文数据结构课程设计北京:清华大学出版社,2010.附录全部代码如下#include #include /*清屏*/ #include /*显示目录*/ #include #define MAX 1000void input(); void sort(); /*排序数据函数*/ void display(); /*显示数据函数*/ void insert(); /*插入数据函数*/ void del(); /*删除数据函数*/ vo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 实习 报告 代码
限制150内