课程设计报告学生成绩管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《高级语言程序设计》
课程设计报告
课题名称:学生成绩管理管理
姓名:田宇
班级:通信1412 学号:
指导教师:陶恂
电子信息学院
2015年 07 月 10 日
目录
1 课题分析
问题描述
某班有最多不超过30人(具体人数键盘输入)参加期末考试,考试科目为数学(MT)、英语(EN)和物理(PH)。学生成绩管理系统是一个非常实用的程序,如果能够把用户输入的数据存盘,下次运行时读出,就更有用了。
编程实现如下菜单驱动的学生成绩管理系统
(1)录入每个学生的学号、姓名和各科考试成绩
(2)计算每门课程的总分和平均分
(3)计算每个学生的总分和平均分
(4)按每个学生的总分由高到低排出名次表
(5)按每个学生的总分由低到高排出名次表
(6)按学号由小到大排出成绩表
(7)按姓名的字典顺序排出成绩表
(8)按学号查询学生排名及其考试成绩
(9)按姓名查询学生排名及其考试成绩
(10)按优秀(90-100)、良好(89-89)、中等(70-79)、及格(60-69)、不及格(0-59)5个类别,对每门课程分别统计每个类别的人数以及所占的百分比(11)输出每个学生的学号、姓名、各科考试成绩,以及每门课程的总分和平均分
(12)将每个学生的记录信息写入文件
(13)从文件中读出每个学生的记录信息并显示
功能需求分析
图1 系统功能模块图
表系统设计
数据结构设计
系统处理的数据主要是学生信息,由C语言数据体表示
struct student
{
char name[NUM_N]; //学生姓名
int score[SCORE_N]; //学生成绩(物理数学英语)
float averstudent; //平均成绩
}STUDENT;
函数设计与说明
表函数列表
菜单设计
采用二级菜单设计,为保证程序有效性,先选择1项录入学生各项信息,再进入其他功能选择。
否
是
是
文件清单与说明
表系统实现
管理系统菜单
进入菜单选择界面,进行成绩单录入和各项功能的选择
否
是
是
学生成绩排名
按每个学生的总分由高到低排出名次表
进入菜单后选择该功能,用循环语句计算出存储在不同结构体中每个学生各科的分数之和即为总分。再应用比较语句进行比较总分大小,按照从高到低进行输出显示
开始
进入菜单后选择该功能,用循环语句计算出存储在不同结构体中每个学生各科的分数之和即为总分。再应用比较语句进行比较总分大小,按照从低到高进行输出显示
开始
进行输出显示
Y
学生成绩统计
4
菜单测试
进入菜单选择,
的选择进行该项功能。可以进行选择
图图图
管理系统菜单
进入菜单选择界面,选择想要执行的功能
图录入每个学生的学号、姓名和各科考试成绩
先选择1进入录入信息界面,再按要求输入总人数,然后根据弹出的格式
依次输入学生信息,按回车结束输入后可选择是否继续进行其他功能。
图计算总分和平均分
计算每门课程的总分和平均分测试
输入成绩后,在菜单界面选择计算成绩功能进入二级菜单,选择计算每门课程的总分和平均分,则功能完成,然后可选择是否继续实现其他功能。
计算每个学生的总分和平均分测试
输入成绩后,在菜单界面选择计算成绩功能进入二级菜单,选择计算每个学生的总分和平均分,则功能完成,然后可选择是否继续实现其他功能。
学生成绩排名
按每个学生总分由高到低排名
先输入学生信息,在一级菜单选择排名,在二级菜单选择该功能,可以选择是否继续
图
按每个学生总分由低到高排名
先输入学生信息,在一级菜单选择排名,在二级菜单选择该功能,可以选择是否继续
图
按学号由大到小排名
先输入学生信息,在一级菜单选择排名,在二级菜单选择该功能,可以选择是否继续
图
按姓名的在字典顺序排名
先输入学生信息,在一级菜单选择排名,在二级菜单选择该功能,可以选择是否继续
图
查询学生成绩
按学号查询学生排名及其考试成绩测试
输入成绩后,在菜单界面选择查询功能进入二级菜单,选择按学号查询学生排名及其考试成绩,输入要查询的学号,则功能完成,然后可选择是否继续实现其他功能。
按姓名查询学生排名及其考试成绩测试
输入成绩后,在菜单界面选择查询功能进入二级菜单,选择按姓名查询学生排名及其考试成绩,输入要查询的姓名,则功能完成,然后可选择是否继续实现其他功能。
学生成绩统计
各等级学生的百分比
先输入学生信息,在一级菜单选择统计进入该功能,可以选择是否继续
图输出每个学生的学号、姓名、各科考试成绩,以及每门课程的总分和平均分测试
输入学生个人信息后,进入菜单选择界面,选择菜单代码1,则完成此功能。选择是否继续,进行其他操作。
将每个学生的记录信息写入文件测试
输入学生个人信息后,进入菜单选择界面,选择菜单代码2,则完成此功能。选择是否继续,进行其他操作。
从文件中读出每个学生的记录信息并显示测试
输入学生个人信息后,进入菜单选择界面,选择菜单代码3,则完成此功能。选择是否继续,进行其他操作。
5 课程设计遇到的问题及解决方法
(1)在建立二级菜单是定义错误
问题内容:在switch选择语句中定义变量,导致程序出错;
问题分析:switch选择语句中不能定义变量;
解决方法:重新定义变量在switch选择语句前,同时修改二级菜单选择的变量与一级菜单选择的变量不同。
(2)输出统计成绩百分比时错误
问题内容:将第一门成绩输出错误,而后面课程的成绩百分比变为前一门成绩的百分比
问题分析:学生成绩与学号的混淆,系统错将学号为学生成绩;
解决方法:修改学生成绩的输出方式,将循环输出是定义的j=0改为j=1,输出的j<3改为j<4。