欢迎来到天天文库
浏览记录
ID:55030611
大小:174.00 KB
页数:27页
时间:2020-04-26
《数据结构课程设计(学生成绩管理系统).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、目录一、运行环境1一、运行环境1二、设计目的和意义22.1设计目的22.2设计意义2三、算法思想2四、模块划分5五、数据结构5六、程序流程图6七、程序源代码7八、程序调试过程分析17九、测试数据17十、测试结果及分析19十一、小结21参考文献22...一、运行环境硬件环境:电脑软件环境:vc++6.0二、设计目的和意义2.1设计目的此次课程设计的目的是让学生在学习完C、数据结构等课程基础上,进一步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。2
2、.2设计意义此次设计意义在于让我们更好的去掌握C的基本语法、函数以及VisualC++集成编译环境。掌握树、图、链表等基本数据结构及其应用。掌握程序流程以及基本应用方法。应用软件工程方面的知识,熟悉软件开发的流程。通过本课程设计,培养学生进行软件设计能力。首先进行需求分析,针对目标对象完成程序结构设计、对象设计、主要数据结构设计、输入输出设计、人机界面设计等。三、算法思想整个系统除了主函数外,另外还有12个函数,实现十大功能:菜单选择、输入功能、显示功能、查找功能、删除功能、排序功能、插入功能、保存功能、读取功能、修改。各个函数的详细设计说明分别如下:.
3、..1、主函数main()利用无限次循环for(;;)和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。2、初始化函数STUDENT*init()这是一个无参函数,里面只有一个语句,它的作用是使链表初始化,使head的值为NULL。比如:没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码!3、菜单选择函数intmenu_select();这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的九大功能,根据每个功能前面的序号进行选择,中间还显示系统当前的时间。等执行完每一个函数功能
4、后,按任一键回到主界面也要通过这个函数来实现!4、输入记录函数STUDENT*create()这是一个无参函数,用来执行第学生成绩记录的输入,当学生为0时停止输入,函数结束后,带回一个指向链表头的指针head。算法:先声明一个首节点head,并将head->next设为NULL。每输入一个数据就声明一个新节点p,把p->next设为NULL,并且到之前列表的尾端。5、显示记录函数voidprint(STUDENT*head)这是一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生成绩记录的输出,不足之处就是不能对学生成绩进行分页显示。算法:先将
5、p结点的指针指向第一个结点,将p结点(即第一个结点)的数据输出。然后再将p结点的指针指向p指针的的指针(即下一结点),将p结点(即第一结点)的数据输出。重复执行此步聚直到p指针指向NULL为止。6、查找记录函数voidsearch(STUDENT*head)这是一个不返回值的有参函数,形参为“链表头的指针”,实现按对某个学生进行查找,并显示所查找到的记录。算法:采用线性查找法往下一个节点查找。输入所要查找的学生的s,设一个指针变量p,先指向第一个结点,当strcmp(p->name,s)&&p!=...NULL时,使p后移一个结点,如果p!=NULL,输
6、出p所指的结点。7、删除记录函数STUDENT*delete(STUDENT*head)这是一个有参函数,形参为“链表头的指针”,先输入要删除的学生记录的学号,找到后显示该学生信息,等确认后便可按“Y”进行删除。算法:从p指向的第一个结点开始,检查该结点中的num值是否等于输入的要求删除的那个学号。如果相等就将该结点删除,如不相等,就将p后移一个结点,再如此进行下去,直到遇到表尾为止。8、排序函数STUDENT*sort(STUDENT*head)这是一个有参函数,形参为“链表头的指针”,按学生成绩的平均分高低进行排序,还可以显示名次。9、修改函数STU
7、DENT*xiugai(STUDENT*head)这是一个有参数函数,形参为“链表头的指针”,首先按学生对要修改的学生记录进行查找,然后对找到的记录进行修改。算法:采用线性查找法往下一个节点查找。输入所要查找的学生的s,设一个指针变量p,先指向第一个结点,当strcmp(p->name,s)&&p!=NULL时,使p后移一个结点,如果p!=NULL,修改p所指的结点的相关记录,修改完成后对记录进行输出,然后重新调用排序sort函数,对新修改的数据进行排序。10、插入函数STUDENT*insert(STUDENT*head,STUDENT*new)这是一
8、个有参函数,形参有两个,一个是“链表头的指针”,一个是“待插入指针”,按照原来成
此文档下载收益归作者所有