- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计报告
第 PAGE 16 页 共 NUMPAGES 36 页
目 录
一、问题描述2
二、基本要求3
三、数据结构设计4
四、软件模块结构图5
五、程序设计思想7
六、程序流程图11
源程序16
八、调试分析30
九、测试数据31
十、用户使用手册34
十一、心得体会35
一、问题描述
在学生成绩管理中,经常会遇到求平均成绩,统计不及格学生成绩,统计优秀学生人数,以及按成绩对学生进行排名等。现假设有某个班级的若干名学生,每个学生都考试完成了4门课程,试对所有学生的成绩完成以下工作:
(1)求每门课程的平均成绩。
(2)输出所有有不及格课程的学生的学号、姓名、全部课程的成绩、平均成绩。
(3)输出所有平均分在90分以上(含90分)的学生学号、姓名。
(4)对4门课程中的任何一门,可随意抽取1门按学生成绩进行排序。
二、基本要求
对学生信息的输入完成后,实现如下功能:1、对学生信息的查找、插入、删除、修改。2、分别输出优秀学生和不及格学生的信息。3、显示每们课程的平均成绩。4、任意抽取一门课程后,可以按该课程学生成绩对学生信息进行排序。
三、数据结构的设计
为了对学生信息进行统一操作,使用了结构体这一数据结构,学生的各项数据信息都能用结构体来表示,具体如下:
struct stu
{int num;/*学号,整型变量*/
char name[50];/*姓名,长度为50的字符串数组*/
char classes[50]/*班级名称,长度为50的字符串数组*/;
double gsps_score;/*高等数学平时成绩,双精度实型变量*/
double gsks_score;/*高等数学考试成绩,双精度实型变量*/
double gszh_score;/*高等数学综合成绩,双精度实型变量*/
double dlps_score;/*电路理论平时成绩,双精度实型变量*/
double dlks_score;/*电路理论考试成绩,双精度实型变量*/
double dlzh_score;/*电路理论综合成绩,双精度实型变量*/
double yyps_score;/*英语平时成绩,双精度实型变量*/
double yyks_score;/*英语考试成绩,双精度实型变量*/
double yyzh_score;/*英语综合成绩,双精度实型变量*/
double wlps_score;/*物理平时成绩,双精度实型变量*/
double wlks_score;/*物理考试成绩,双精度实型变量*/
double wlzh_score;/*物理综合成绩,双精度实型变量*/
double pj_score;/*平均成绩,双精度实型变量*/
}student[1000];/*最多存储1000个学生数据*/
该结构体数据定义为全局变量。
四、软件模块结构图
每门课程的平均成绩主菜单控制模块学生信息录入模块学生信息查询模块学生信息修改模块
每门课程的平均成绩
主菜单控制模块
学生信息录入模块
学生信息查询模块
学生信息修改模块
学生信息删除模块
学生信息插入模块
学生信息输出模块
按学号查询学生信息
按姓名查询学生信息
输出优秀学生相关信息
输出不及格学生信息
课程成绩统计模块
课程成绩统计模块
按单科成绩排名次
按单科成绩排名次
模块功能描述:
a.主菜单控制模块:主菜单直接控制七个模块(学生信息输出模块的两个子模块直接归主菜单控制),在各模块间起到纽带的作用。在主菜单,可以通过选择进入其他模块,其他模块运行结束后也可回到主菜单继续选择。
b.学生信息录入模块:循环输入学生信息,建立临时的学生信息数据库。
c.学生信息查询模块:可选择按学号或者按姓名查询学生信息,如学生信息不存在则给出提示。
d.学生信息修改模块:查找到要修改的学生信息后,可对该学生的信息进行逐项修改。
e.学生信息删除模块:查找到要删除的学生信息后,可对其进行删除操作。
f.学生信息插入模块:在数据库末尾插入学生信息,逐项输入要插入的学生信息即可。
g.学生信息输出模块:输出优秀学生信息模块能够输出优秀学生(平均成绩大于等90分)的学号和姓名;输出不及格学生信息模块能够输出不及格学生的相关信息。
h.课程成绩统计模块:可以得到每门课程的平均成绩,还可以任意抽取一门课按单科成绩排定学生名次。
五、程序设计思想
结构化的程序设计主要靠设计和调用各模块的函数来实现。本程序设计了多个函数,每个函数自身能完成一个任务,有的函数和别的函数结合能完成更大的任务。每一个模块功能的实现其实就是对函数的调用,本说明首先介绍本程序所涉及的子函数,再介绍主函数,最后介绍程序整体的实现过程。
1.v
文档评论(0)