欢迎来到天天文库
浏览记录
ID:856089
大小:1.30 MB
页数:31页
时间:2017-09-20
《学生成绩管理系统论文毕业设计(doc毕业设计论文)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、学生成绩管理系统一、设计目的1、掌握对结构体、指针、文件的操作和C语言算法的应用。2、用程序实现文件记录的添加、修改、删除、排序(包括对文件记录按某个数据项排序)、查询、插入,或动态链表的建立、查找、修改、删除、插入、输出、排序,或结构体数组的输入、修改、删除、插入、输出。二、设计过程1.需求分析1)、系统界面需求进入系统时应当出现人性化、个性化、随性化的字符界面或图形界面,提供菜单选项,选择执行相应的功能,输入输出数据或操作成功时要有相应提示信息,此外还要提供帮助信息,如系统的功能介绍等,提供系统信息或程序信息,如作者、联系方式等。2)、系统功能需求对设计题目进行分析,可知系
2、统主要功能可以有下面几种,而且各种功能互相组合,形成或构成新的功能。①、输入功能。第一次可通过在内存中新建或创建动态链表输入学生的成绩记录和其他数据记录,且随时可以退出输入,既可在退出时可自动保存或提示保存或输入完毕后返回主菜单选择“保存文件”命令进行手动保存到硬盘,也可以在输入过程中自动保存。如果以前已经建立过动态链表且已经保存到文件中,可先载入文件(相当于打开文件、读取文件),再插入新的记录到动态链表。②、插入功能。插入或添加一个学生的成绩记录到已有的动态链表中,比如载入文件后的动态链表或刚刚新建的动态链表。③、查看功能。直接输出未排序或已按某数据项排序(如按总成绩从高到低
3、排序)的动态链表中所有学生的记录到屏幕上显示。④、查找功能。查找的目的可能是查看数据、修改数据或删除数据。查找的方式有精确查找和模糊查找两种。精确查找,指根据学号、姓名或其他数据项在动态链表中查找并显示一个学生的成绩记录。模糊查找,指根据学号、姓名或其他数据项的逻辑组合条件在动态链表中查找并显示符合条件的学生的成绩记录。查找的结果可以返回地址(指针)用于查看、修改或删除数据。⑤、修改功能。根据学号、姓名或其他数据项在动态链表中查找并修改一个学生的成绩记录。⑥、删除功能。根据学号、姓名或其他数据项在动态链表中查找并删除一个学生的成绩记录。⑦、保存文件。将新建的或修改的动态链表的所
4、有数据写入(或存入、存到)二进制文件中。⑧、载入文件。相当于打开文件并读取文件中所有学生的数据(包括班级、学号、姓名、成绩等)到动态链表。⑨、帮助功能。显示帮助信息和系统信息。⑩、退出功能。退出系统或退出程序,可增加一个退出函数,在退出时可显示系统信息或程序信息。此外还有排序功能、统计功能和加密功能。排序功能,指可按成绩、学号或姓名排序,而成绩排序又可按单科成绩或总成绩排序。统计功能,指统计及格人数和优秀人数。加密功能,指登录系统要使用密码验证,防止别人偷窥或篡改数据。1.概要设计在需求分析的基础上,确定系统总体框架(即系统功能结构图、系统模块结构图)。系统各个功能的详细解释。
5、1.Createanewlistofstudentsdata创建链表。输入学生的成绩和其他信息,并且自动计算总成绩和平均成绩2.Insertastudentdata插入记录。在动态链表中插入一个学生的成绩记录。3.Outputallstudentsdata显示记录。自动按总成绩从高到低排序后显示动态链表中所有学生的成绩记录。4.Searchastudentdata查找记录。根据学号在动态链表中查找并显示一个学生的成绩记录。5.Modifyastudentdata修改记录。根据学号在动态链表中查找并修改一个学生的成绩记录。6.Deleteastudentdata删除记录。根据学号
6、在动态链表中查找并删除一个学生的成绩记录。7.SaveFile保存数据。将动态链表的所有数据写入(或存入、存到)二进制文件中。8.LoadFile读取数据。读取文件中所有学生的数据(包括班级、学号、姓名、成绩等)到动态链表。9.Help帮助。显示帮助信息和系统信息。0.Exit退出。如菜单返回值为0程序结束。1.详细设计1)、数据结构设计系统使用了结构体类型存储学生的成绩记录和其他记录。#defineNUM9/*定义课程的数目*/structstudent/*学生的数据结构*/{charclass_0[20];//班级intnum;//学号charname[20];//姓名fl
7、oatscore[NUM];//成绩floattotal;//总分floatave;//平均分structstudent*next;intorder;//排名}stu;2)、算法结构设计系统使用了以下函数来实现系统各个模块的功能。函数名称函数功能structstudent*create(void)创建链表,完成数据录入功能voidTotalScore(structstudent*head)计算每个学生的总成绩和平均成绩voidIntSwap(int*pt1,int*pt2)交换两个整型数vo
此文档下载收益归作者所有