1、 高级语言程序设计 课程设计报告 课题名称: 学生成绩管理管理 电子信息学院 2015 年 07 月 10 日 目 录 1 课题分析 1 1.1 问题描述. 1 (1) 录入每个学生的学号、姓名和各科考试成绩. 1 (2) 计算每门课程的总分和平均分. 1 (3) 计算每个学生的总分和平均分. 1 (4) 按每个学生的总分由高到低排出名次表. 1 (5) 按每个学生的总分由低到高排出名次表. 1 (6) 按学号由小到大排出成绩表. 1 (7) 按姓名的字典顺序排出成绩表. 1 (8) 按学号查询学生排名及其考试成绩. 1 (9) 按姓名查询学生排名及其考试成绩. 1 (10) 按优秀(90-1
2、00) 、良好(89-89) 、中等(70-79) 、及格(60-69) 、 不及格(0-59)5 个类别,对每门课程分别统计每个类别的人数以及所占的 百分比 1 (11) 输出每个学生的学号、姓名、各科考试成绩,以及每门课程的总 分和平均分. 1 (12) 将每个学生的记录信息写入文件 . 1 (13) 从文件中读出每个学生的记录信息并显示 . 1 1.2 功能需求分析. 1 2 系统设计 3 2.1 数据结构设计. 3 2.2 函数设计与说明. 3 2.3 菜单设计. 3 2.4 文件清单与说明. 4 3 系统实现 5 3.1 管理系统菜单. 5 3.2 学生成绩排名. 5 3.3 学生成
3、绩统计. 9 4 测试数据与测试过程记录 10 4.1 菜单测试. 10 4.2 系统功能测试. 13 4.2.1 管理系统菜单 13 4.2.2 输入学生信息 14 录入每个学生的学号、姓名和各科考试成绩. 14 4.2.3 计算总分和平均分 14 计算每门课程的总分和平均分测试. 14 计算每个学生的总分和平均分测试. 15 4.2.4 学生成绩排名 16 按每个学生总分由高到低排名. 16 按每个学生总分由低到高排名. 16 按学号由大到小排名. 17 按姓名的在字典顺序排名. 18 4.2.5 查询学生成绩 18 按学号查询学生排名及其考试成绩测试. 18 按姓名查询学生排名及其考试成
4、绩测试. 19 4.2.6 学生成绩统计 20 各等级学生的百分比. 20 4.2.6 学生信息的输入输出 20 输出每个学生的学号、姓名、各科考试成绩,以及每门课程的总分和平均分 测试. 20 将每个学生的记录信息写入文件测试. 21 从文件中读出每个学生的记录信息并显示测试. 22 5 课程设计遇到的问题及解决方法. 22 6 课程设计总结 . 23 参考文献 . 23 附录源代码 . 23 学生信息管理系统 1 1 1 课题课题分析分析 1.1 问题描述 某班有最多不超过 30 人(具体人数键盘输入)参加期末考试,考试科目为数学 (MT) 、英语(EN)和物理(PH) 。学生成绩管理系统
5、是一个非常实用的程序, 如果能够把用户输入的数据存盘,下次运行时读出,就更有用了。 编程实现如下菜单驱动的学生成绩管理系统 (1) 录入每个学生的学号、姓名和各科考试成绩 (2) 计算每门课程的总分和平均分 (3) 计算每个学生的总分和平均分 (4) 按每个学生的总分由高到低排出名次表 (5) 按每个学生的总分由低到高排出名次表 (6) 按学号由小到大排出成绩表 (7) 按姓名的字典顺序排出成绩表 (8) 按学号查询学生排名及其考试成绩 (9) 按姓名查询学生排名及其考试成绩 (10) 按优秀(90-100) 、良好(89-89) 、中等(70-79) 、及格(60-69) 、不及 格(0-5
6、9)5 个类别,对每门课程分别统计每个类别的人数以及所占的百分比 (11) 输出每个学生的学号、姓名、各科考试成绩,以及每门课程的总分和平 均分 (12) 将每个学生的记录信息写入文件 (13) 从文件中读出每个学生的记录信息并显示 1.2 功能需求分析 若要完成问题中的各项要求, 首先需要运用结构体数据储存学生的成绩信息, 再运用循环语句求得各学生成绩之和及平均分和各学科成绩之和及平均分, 再运 用文件存储数据便于以后查询,对于数据查询,则同样需要运用循环语句将要查 询的姓名或学号与已储存的信息进行对比,直至找到要查询的信息。系统功能模 块如图 1.2.1 所示 学生信息管理系统 2 图图 1 系统功能模块图系统功能模块图 表 1.2.1 学生成绩管理系统 录入每个学生的学号、姓名和各科考试成绩 计 算 每 门 课 程 的 总 分 和 平 均 分 计 算 每 个 学 生 的 总 分 和 平 均 分 按 每 个 学 生 的 总