简单学生成绩管理程序设计【报告】OK

简单学生成绩管理程序设计【报告】OK

ID:39501316

大小:275.24 KB

页数:20页

时间:2019-07-04

简单学生成绩管理程序设计【报告】OK_第1页
简单学生成绩管理程序设计【报告】OK_第2页
简单学生成绩管理程序设计【报告】OK_第3页
简单学生成绩管理程序设计【报告】OK_第4页
简单学生成绩管理程序设计【报告】OK_第5页
资源描述:

《简单学生成绩管理程序设计【报告】OK》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、沈阳航空航天大学课程设计报告课程设计名称:C语言课程设计课程设计题目:简单学生成绩管理程序设计院(系):计算机学院专业:计算机科学与技术班级:24010105学号:2012040101222姓名:孙洪宇指导教师:完成日期:2013年3月12日沈阳航空航天大学课程设计报告目录第1章概要设计11.1题目的内容与要求11.2总体结构1第2章详细设计22.1数据结构设计22.2功能设计22.2.1主模块22.2.2录入信息模块32.2.3查询信息模块32.2.4修改信息模块42.2.5删除信息模块52.2.6排名模块5第3章调试分析7第4章使用说明8参考文献11附录(程序清单)12-1

2、7-沈阳航空航天大学课程设计报告第1章概要设计第1章概要设计1.1题目的内容与要求内容:利用C语言设计一个能实现学生成绩管理的程序。要求:1)能够将学生的成绩信息存到文件当中。2)要实现对学生成绩的录入、查询、修改和删除等功能。3)要根据学生的成绩进行排名。4)采用MicrosoftVisualC++6.0环境进行调试运行。1.2总体结构本程序主要分为五个模块(功能模块图见图1.1)。录入信息模块:实现对全部学生成绩信息的录入并保存。查询信息模块:根据输入的查询关键字进行查找。修改信息模块:根据输入的修改关键字进行查找并修改。删除信息模块:根据输入的删除关键字进行删除信息操作。

3、排名模块:根据学生的成绩进行降序排列并显示输出。简单学生成绩管理程序删除信息模块查询信息模块主模块修改信息模块录入信息模块排名模块图1.1功能模块图-17-沈阳航空航天大学课程设计报告第2章详细设计第2章详细设计2.1数据结构设计本程序所采用的数据结构为单向链表结构,其结点通过定义结构体来表示。具体的定义如下:typedefstructstudent{intno;charname[10];floatscore;structstudent*next;}stuinfo;2.2功能设计2.2.1主模块控制整个程序的运行,控制菜单操作,通过主函数模块分别调用各个模块,实现各项功能,调用

4、方法通过菜单选项来完成。流程如图2.1所示。开始输入selectselect输入错误结束case1default0录入信息模块2查询信息模块3修改信息模块4删除信息模块5排名模块图2.1主模块流程图-17-沈阳航空航天大学课程设计报告第2章详细设计2.2.2录入信息模块依次录入每个学生的基本信息和成绩信息,并同时生成单向链表存储结构将学生的信息存入内存中。当录入完全部学生的信息后,调用信息保存到文件函数,讲学生信息文件建立起来。流程如图2.2所示。开始结束输入学生信息是否继续输入将信息写入链表中建立链表新结点YN学生信息保存到文件图2.2录入信息模块流程图2.2.3查询信息模块

5、通过输入待查询的学生学号,遍历整个链表并进行逐个比对,若找到则显示出找到的信息,若没找到则返回。流程如图2.3所示。-17-沈阳航空航天大学课程设计报告第2章详细设计结束p!=NULL输出学生信息p=p->next;NY是否找到NY开始输入要查找的学号no_findp=head;图2.3查询信息模块流程图2.2.4修改信息模块通过输入待修改的学生学号,遍历整个链表并进行逐个比对,若找到则针对找的学生信息进行修改并刷新存储文件,若没找到则返回。流程如图2.4所示。开始输入要查找的学号no_changep=head;1-17-沈阳航空航天大学课程设计报告第2章详细设计结束p!=NU

6、LL修改学生成绩p=p->next;NY是否找到NY1图2.4修改信息模块流程图2.2.5删除信息模块通过输入待删除的学生学号,遍历整个链表并进行逐个比对,若找到则要根据结点在链表当中所处的位置进行删除调整操作,若没找到则返回。流程如图2.5所示。开始结束输入要查找的学号no_delete找到对应的结点删除找到的结点调整删除后的链表图2.5删除信息模块流程图2.2.6排名模块根据学生-17-沈阳航空航天大学课程设计报告第2章详细设计的成绩信息,采用选择排序法对整个链表进行降序排序,并将全部学生排名后的结果显示输出。流程如图2.6所示。开始结束输出排名后的结果循环按照成绩进行降序

7、排序图2.6排名模块流程图-17-沈阳航空航天大学课程设计报告第3章调试分析第3章调试分析1.由于初学C语言的链表,对其细节上的操作还没有完全掌握,在做链表删除的功能时就遇到了一些问题,在调试时程序会异常退出。由于待删除的结点位置的不确定性,而首位两结点又比较特殊,如果不单独考虑,则会发生程序的逻辑上错误,导致程序崩溃。2.排序功能的实现是根据数组的排序法思想而得来的,但是由于在交换数据时结点变量类型是结构体类型,其每项成员都要做交换,而不能仅仅是地址上的交换,这样的做法仍达不到排序的功能。

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

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

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