《学生成绩管理系统说明书》由会员分享,可在线阅读,更多相关《学生成绩管理系统说明书(24页珍藏版)》请在金锄头文库上搜索。
1、唐 山 学 院 数据结构 课 程 设 计 题 目 学生成绩管理系统设计与实现 系 (部) 计算机科学与技术系 班 级 11计本1班 姓 名 尹云 学 号 4112006102 指导教师 张小松 2013 年 1 月 4 日至 1 月 11 日 共 2 周 2013 年 1 月 11 日 数据结构 课程设计任务书一、设计题目、内容及要求1、设计题目:学生成绩管理系统设计与实现。2、设计内容及要求: (1)查询功能:可以通过姓名、学号进行查询学生成绩,同时可以查询有不及格科目的学生。(2)录入功能:能够录入学生成绩(包括:学号、姓名、至少3门课程的成绩、总分、平均分等信息)。总分和平均分自动计算。
2、(3)排序功能:能够对学生成绩进行排序并可以浏览排序结果。(4)统计功能:能够统计出优秀、良好、中等、及格和不及格这五个等级的人数。二、要求的设计成果(课程设计说明书、设计实物、图纸等)1、用C语言进行程序设计,实现系统的功能。注重算法效率,代码要有适当的注释;2、撰写课程设计说明书一份,不少于2000字。课程设计说明书应包括封面、任务书、成绩评定表、正文(设计思路、设计步骤等)、参考文献(资料)、附录(程序代码)等内容。三、进程安排1月4日:进行需求分析,确定系统的主要功能和算法思路;1月5日1月6日:进行详细设计,确定各模块的算法思路;1月7日1月8日:进行编码实现;1月9日1月10日:进
3、行测试调试,完善设计;撰写设计说明书,准备答辩;1月11日:答辩。四、主要参考资料 1.严蔚敏,吴伟民.数据结构.清华大学出版社,2007.2.苏仕华.数据结构课程设计.机械工业出版社,2010.3.滕国文.数据结构课程设计.清华大学出版社,2010.指导教师(签名):教研室主任(签名):课程设计成绩评定表出勤情况出勤天数 缺勤天数成绩评定出勤情况及设计过程表现(20分)课设答辩(20分)设计成果(60分)总成绩(100分)提问(答辩)问题情况综合评定 指导教师签名: 年 月 日唐山学院课程设计1引言学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。
4、为了提高学校管理员和学生管理和查询学生成绩的效率,需要建立一个学生成绩管理系统,使我们可以在众多的学生信息中查找自己的成绩信息,面对学院大量的学生信息,学生只要登录本系统就可以查找到自己的成绩信息,而管理员也方便去管理每学期的学生的成绩信息。学生成绩管理系统,使学生成绩信息管理工作规范化、系统化、程序化,避免学生管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改学生信息。学生成绩管理系统有效地管理学生成绩相关信息,包括学生成绩的查询、录入、排序、统计等功能。该系统为用户提供了一个简单的人机界面,用户可以根据提示信息进行各种操作。本次设计使用的编程语言是C语言。2问题分析
5、根据设计题目要求分析如下:(1) 本题目主要涉及顺序表的基本操作。(2) 在学生成绩管理系统中,录入学生信息时通常按录入顺序的先后,因此选用线性表。在查找学生信息时,是在大量无序的学生信息中,通过比较所给关键字与对应信息项,找到所要查找的学生信息。修改学生信息是在查找的基础上完成的,首先要找到需要修改的信息项,用输入的新数据覆盖原来的老数据,达到修改的目的。删除学生信息也是在查找的基础上完成的,先找到要删除的学生信息,从要删除的那个信息项开始,用后一个信息项覆盖它,一直循环到最后,即可完成删除。在查询不及格的学生信息时,只要把符合不及格的学生信息输出即可做到查询。在统计不同等级的学生人数时,是
6、想要根据划分的不同等级,将所有学生信息分成符合条件的几个部分。学生信息的存储结构:struct STU/*定义学生信息结构体*/int num;/*学号*/char name20;/*姓名*/double Data;/*数据结构成绩*/double Math;/*高等数学成绩*/double English;/*大学英语成绩*/double sum;/*总成绩*/double ave;/*平均成绩*/STU,stu1000003总体设计3.1 模块结构图输入退出学生成绩管理系统删除统计修改排序查询查找图3.1 系统模块结构图输入:学生信息的录入。 查找:按学号或姓名查找学生成绩,输入关键字,查
7、找指定信息记录并输出。 修改:通过调用查找函数,找到要修改的学生信息,输入新数据覆盖原先的数据。 删除:通过调用查找函数,找到要删除的学生信息,用后一项覆盖前一项。 查询:查询各科成绩不及格的学生成绩,输出其学生信息。 排序:按总成绩排序,并输出排序后学生信息。 统计:分别统计各个等级的学生人数,并输出各个等级的学生人数。 退出:结束程序运行。3.2 总体流程图开始系统启动密码输入x=?x=123456? N Y进入系统功能表密码错误系统重启c=1? Y Nc=2?录入学生信息 Y N查找学生信息c=3? Y 修改学生信息c=4? N Y c=5?删除学生信息 N Y 查询不及格信息c=6?
8、N Y 总成绩排序 Nc=7? Y N统计学生信息 Nc=0 Y 结束图3.2 系统流程图结构图4详细设计4.1 录入模块该模块实现的功能是从键盘录入学生信息。4.1.1设计思路void Getinformation() 此函数用来录入学生信息。此函数用while循环达到循环输入的目的,只要输入的学号有效(在所有学号的范围内且不等于-1),就可以实现学生信息的不断录入,用-1做结束录入的标志。开始4.1.2流程图 1 输入学生信息 是否继续?继续按1,结束按-1 1-1结束结束图4.1 录入模块程序流程图4.2 查找模块该模块实现的功能是根据所给的学生信息(关键字),查找该学生的全部信息并输出
9、。4.2.1设计思路在void Seekinformation()函数中,用while循环可以实现循环输入查找信息,用if语句可以实现按学号和姓名两种查找方式。用if语句确定查找方式,通过调用void Seeknum()或void Seekname()函数实现查找。在void Seeknum()(void Seekname()函数中,用for循环逐次查找,通过用if语句比较学号(姓名),返回符合条件的标号,并调用Printinformation()函数输出该生的所有信息。判断是否继续查找,继续查找则进入以上环境,否则退出查找。开始4.2.2流程图 2按学号查找按1按姓名查找按2 2 输出相应姓名所对应的信息输出相应学号所对应的信息 1 是否继续?继续按1;结束按10 1 10结束 图4.2 查找模块程序流程图4.3 修改模块该模块的实现的功能是根据需要修改学生信息。4.3.1设计思路在Modifinformation()函数中,此函数用于修改学生信息。基本原理就是用输入的新数据覆盖原来的老数据,达到修改的目的。本函数还调用了查找模块的函数,使修改前能按学号或姓名找到要修改的学生信息。开始4.3.2流程图