数据结构课程设计(学生成绩管理系统).doc

数据结构课程设计(学生成绩管理系统).doc

ID:55030611

大小:174.00 KB

页数:27页

时间:2020-04-26

数据结构课程设计(学生成绩管理系统).doc_第1页
数据结构课程设计(学生成绩管理系统).doc_第2页
数据结构课程设计(学生成绩管理系统).doc_第3页
数据结构课程设计(学生成绩管理系统).doc_第4页
数据结构课程设计(学生成绩管理系统).doc_第5页
资源描述:

《数据结构课程设计(学生成绩管理系统).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、个有参函数,形参有两个,一个是“链表头的指针”,一个是“待插入指针”,按照原来成

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。