学生成绩管理系统说明书

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

唐山学院数据结构课程设计题目学生成绩管理系统设计与实现系(部)计算机科学与技术系班级11计本1班姓名尹云学号4112006102指导教师张小松2013年1月4日至1月11日共2周2013年1月11日数据结构课程设计任务书一、设计题目、内容及要求1、设计题目:学生成绩管理系统设计与实现。2、设计内容及要求:(1)查询功能:可以通过姓名、学号进行查询学生成绩,同时可以查询有不及格科目的学生。(2)录入功能:能够录入学生成绩(包括:学号、姓名、至少3门课程的成绩、总分、平均分等信息)。总分和平均分自动计算。(3)排序功能:能够对学生成绩进行排序并可以浏览排序结果。(4)统计功能:能够统计出优秀、良好、中等、及格和不及格这五个等级的人数。二、要求的设计成果(课程设计说明书、设计实物、图纸等)1、用C语言进行程序设计,实现系统的功能。注重算法效率,代码要有适当的注释;2、撰写课程设计说明书一份,不少于2000字。课程设计说明书应包括封面、任务书、成绩评定表、正文(设计思路、设计步骤等)、参考文献(资料)、附录(程序代码)等内容。三、进程安排1月4日:进行需求分析,确定系统的主要功能和算法思路;1月5日~1月6日:进行详细设计,确定各模块的算法思路;1月7日~1月8日:进行编码实现;1月9日~1月10日:进行测试调试,完善设计;撰写设计说明书,准备答辩;1月11日:答辩。四、主要参考资料1.严蔚敏,吴伟民.数据结构.清华大学出版社,2007.2.苏仕华.数据结构课程设计.机械工业出版社,2010.3.滕国文.数据结构课程设计.清华大学出版社,2010.指导教师(签名):教研室主任(签名):课程设计成绩评定表出勤情况出勤天数缺勤天数成绩评定出勤情况及设计过程表现(20分)课设答辩(20分)设计成果(60分)总成绩(100分)提问(答辩)问题情况综合评定指导教师签名:年月日唐山学院课程设计11引言学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。为了提高学校管理员和学生管理和查询学生成绩的效率,需要建立一个学生成绩管理系统,使我们可以在众多的学生信息中查找自己的成绩信息,面对学院大量的学生信息,学生只要登录本系统就可以查找到自己的成绩信息,而管理员也方便去管理每学期的学生的成绩信息。学生成绩管理系统,使学生成绩信息管理工作规范化、系统化、程序化,避免学生管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改学生信息。学生成绩管理系统有效地管理学生成绩相关信息,包括学生成绩的查询、录入、排序、统计等功能。该系统为用户提供了一个简单的人机界面,用户可以根据提示信息进行各种操作。本次设计使用的编程语言是C语言。2问题分析根据设计题目要求分析如下:(1)本题目主要涉及顺序表的基本操作。(2)在学生成绩管理系统中,录入学生信息时通常按录入顺序的先后,因此选用线性表。在查找学生信息时,是在大量无序的学生信息中,通过比较所给关键字与对应信息项,找到所要查找的学生信息。修改学生信息是在查找的基础上完成的,首先要找到需要修改的信息项,用输入的新数据覆盖原来的老数据,达到修改的目的。删除学生信息也是在查找的基础上完成的,先找到要删除的学生信息,从要删除的那个信息项开始,用后一个信息项覆盖它,一直循环到最后,即可完成删除。在查询不及格的学生信息时,只要把符合不及格的学生信息输出即可做到查询。在统计不同等级的学生人数时,是想要根据划分的不同等级,将所有学生信息分成符合条件的几个部分。学生信息的存储结构:structSTU/*定义学生信息结构体*/{intnum;/*学号*/charname[20];/*姓名*/doubleData;/*数据结构成绩*/doubleMath;/*高等数学成绩*/doubleEnglish;/*大学英语成绩*/doublesum;/*总成绩*/doubleave;/*平均成绩*/}STU,stu[100000]唐山学院课程设计23总体设计3.1模块结构图图3.1系统模块结构图输入:学生信息的录入。查找:按学号或姓名查找学生成绩,输入关键字,查找指定信息记录并输出。修改:通过调用查找函数,找到要修改的学生信息,输入新数据覆盖原先的数据。删除:通过调用查找函数,找到要删除的学生信息,用后一项覆盖前一项。查询:查询各科成绩不及格的学生成绩,输出其学生信息。排序:按总成绩排序,并输出排序后学生信息。统计:分别统计各个等级的学生人数,并输出各个等级的学生人数。退出:结束程序运行。学生成绩管理系统删除统计修改排序查询查找输入退出唐山学院课程设计33.2总体流程图NYYNYNYNYNYNYNYNNY图3.2系统流程图结构图4详细设计4.1录入模块系统启动密码输入x=?x=123456?进入系统功能表c=1?c=2?c=3?c=5?c=4?c=6?结束录入学生信息修改学生信息查询不及格信息查找学生信息删除学生信息密码错误系统重启开始c=7?c=0总成绩排序统计学生信息唐山学院课程设计4该模块实现的功能是从键盘录入学生信息。4.1.1设计思路voidGetinformation()此函数用来录入学生信息。此函数用while循环达到循环输入的目的,只要输入的学号有效(在所有学号的范围内且不等于-1),就可以实现学生信息的不断录入,用-1做结束录入的标志。4.1.2流程图11-1结束图4.1录入模块程序流程图4.2查找模块该模块实现的功能是根据所给的学生信息(关键字),查找该学生的全部信息并输出。4.2.1设计思路在voidSeekinformation()函数中,用while循环可以实现循环输入查找信息,用if语句可以实现按学号和姓名两种查找方式。用if语句确定查找方式,通过调用voidSeeknum()或voidSeekname()函数实现查找。在voidSeeknum()(voidSeekname())函数中,用for循环逐次查找,通过用if语句比较学号(姓名),返回符合条件的标号,并调用Printinformation()函数输出该生的所有信息。判断是否继续查找,继续查找则进入以上环境,否则退出查找。输入学生信息是否继续?继续按1,结束按-1结束开始唐山学院课程设计54.2.2流程图221110图4.2查找模块程序流程图4.3修改模块该模块的实现的功能是根据需要修改学生信息。4.3.1设计思路在Modifinformation()函数中,此函数用于修改学生信息。基本原理就是用输入的新数据覆盖原来的老数据,达到修改的目的。本函数还调用了查找模块的函数,使修改前能按学号或姓名找到要修改的学生信息。4.3.2流程图3110开始按学号查找按1按姓名查找按2输出相应学号所对应的信息是否继续?继续按1;结束按10输出相应姓名所对应的信息结束开始修改学生信息输入要修改后的信息是否继续?继续按1,结束按10结束唐山学院课程设计6图4.3修改学生信息模块程序流程图4.4删除模块该模块实现的功能是删除指定的学生信息4.4.1设计思路Deleteformation()此函数用于删除学生信息。同样调用了查找模块的函数。删除模块的关键语句是for(j=x;ji-1;j++)stu[j]=stu[j+1],从要删除的那一个信息项开始,用后一个信息项覆盖它,一直循环到最后,相当于把开始的第一个数据删除了。4.4.2流程图421110图4.4删除学生信息模块程序流程图4.5查询模块该模块实现的功能是查询不及格(某科成绩低于60分)的学生信息并输出。4.5.1设计思路voidShowfail()此函数用于显示不及格学生的信息。能够按要求输出不及格学生的学号、姓名、各科成绩、平均成绩、总成绩。首先在for循环中用if语句搜索该学生是否有成绩不及格,当三门课中至少有一门不及格时就会输出该学生的相关信息。开始删除的学生信息是否删除?是按1,否按2删除成功是否继续?继续按1,结束按10结束唐山学院课程设计74.5.2流程图5NYNY图4.5查询不及格的学生信息模块程序流程图4.6排序模块该模块实现的功能是按学生总成绩对学生信息排序并输出排序后的结果。4.6.1设计思路Lineup函数用来对学生信息按总成绩进行排序。Lineup函数在排序时用的是冒泡排序法,冒泡排序是经过n-1趟子排序完成的,第i趟子排序从第1个数至第n+1个数,若第i个数比后一个数大(则升序,小则降序。本程序一律采用降序)则交换两数。开始判断是否有不及格的学生信息科目输出该生的学生信息结束检索完毕?唐山学院课程设计84.6.2流程图6NYNYYN图4.6冒泡排序的模块程序流程图4.7统计模块该模块的实现的功能是统计各个等级的学生人数并输出各等级的人数。4.7.1设计思路voidCount()函数统计各个等级(优秀、良好、中等、及格、不及格)的学生人数。函数用switch语句划分出不同等级,用for循环依次判断每个学生所处的等级,并记录每个等级的人数。开始m=1mistu[m].sumstu[n].sum?n=m+1ni+1?n++互换stu[m].sum与stu[n].sum输出已排序的信息结束m++唐山学院课程设计94.7.2流程图7图4.7统计不同等级学生的人数模块程序流程图5运行测试进入演示程序后即可显示的界面:图5.0.1系统进入输入密码错误显示的界面:图5.0.2输入密码正确后的功能表输入密码正确显示的界面:开始判断每个学生的成绩等级(10、9、8、7、6、6)=1096687结束X++唐山学院课程设计10图5.0.3输入密码正确后的功能表1、执行功能1,依次录入学生信息:1.1录入第1个学生信息:1.2录入第2个学生信息:1.3录入第3个学生信息:1.4录入第4个学生信息:1.5录入第5个学生信息:1.6录入第6个学生信息:唐山学院课程设计111.7结束录入!图5.1结束录入2、执行功能2,按一定方式查找学生信息:2.1按学号查找学生信息:图5.2.1查找学号不存在2.2继续按学号查找学生信息:图5.2.2查找学号存在2.3按姓名查找的学生信息:图5.2.3查找姓名存在2.4继续按姓名查找学生信息:图5.2.4查找姓名不存在唐山学院课程设计122.5退出查找:图5.2.5退出查找3、执行功能3,修改学生信息:3.1执行修改学生信息功能:图5.3.1修改学生信息3.2退出修改功能:图5.3.2退出修改4、执行功能4,删除学生信息:4.1执行删除学生信息功能:图5.4.1删除学生信息4.2退出删除功能:图5.4.2退出删除5、执行功能5,查询不及格的学生信息:唐山学院课程设计13图5.5查询不及格学生信息6、执行功能6,用冒泡法按总成绩对学生信息排序:图5.6按总成绩学生信息排序7、执行功能7,统计不同等级学生的人数:图5.7统计不同等级学生人数8、执行功能0,退出该系统:图5.8退出系统9、选择功能数字错误:图5.9重选功能6总结(1)综合实践过程的收获通过本次的综合实践,收获颇多。对过去学习的数据结构与算法分析的相关知识进唐山学院课程设计14行了汇总。同时也自学了许多相关知识。通过调用各种功能函数实现对相关数据的具体操作。实践出真知,在课堂上,接受理论的知识,且把每一个内容都细分切块,最终学到的却不能完全有效的整合到一起,在做这个课程设计的时候,涉及到很多学过的内容。因此就必须要查阅很多课本和书籍,这样不仅把以前学过的快遗忘的知识重新复习一遍,还能有效的把那些零散的知识点相结合,并运用。通过这次综合实践,加强了对实践操作的要求,不但要掌握理论知识,还要通过自己动手操作,在实践中充分理解理论知识,使自己的理论水平上升到更高层次,此外在此次实践中,自学能力得到了增强,这是这次综合实践过程中的最大收获。(2)遇到问题以及解决问题的思路和方法通过本次得综合实践,在编写学生成绩管理系统程序代码的过程中遇到了很多的问题。如果录入的学生信息数量非常大时,用此系统的查找效率就比较低,所以此系统用于信息量比较少。由于学生人数不确定,可

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功