C语言课设报告(学生考试成绩查询程序)【荐】.doc
学生考试成绩查询程序
学号:********
姓名:*****
完成日期:****年月
通过键盘输入学生的考试信息,包括:学号、姓名、课程名称、学分、考试分数(一个学生应考数门课程,同一课程,应有若干学生考试)(除学分、分数外其他信息为字符串)
给定学号,显示该学生所有课程的考试信息
给定课程名称,显示该课程所有学生的考试信息
给定某位学生的学号和课程名称,修改该学生该课程的考试信息
给定课程名称,显示该课程所有不及格学生的姓名和分数
提供一些统计各类信息的功能(例如:统计某学生的考试平均分、统计某门课程的考试平均分、统计某门课程不及格的人数等)
2) 输入要求 :
应用程序运行后,在屏幕上显示一个菜单(菜单显示外观参见后面的图示)。用户可以根据需求,选定相应的操作项目。进入每个操作后(若需要,还可显示子菜单),根据应用程序的提示信息,从键盘输入相应的信息。要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等
3) 输出要求 :
除功能(1)外,其他功能都要有明确的输出,包括该功能的执行结果和该结果的含义(例如:“name is …”)
用户文档
1) 程序功能的说明:
对学生考试成绩进行简单的输入、查找、修改、统计等
2) 安装、启动方式:
双击.exe文件即可运行程序
界面、交互方式、操作方式:
按照菜单提示操作即可,确认为回车键
程序的运行环境:
本程序是用visual c++ 6.0开发的,在wind2000/xp/win7/vista作系统下均可运行
产生的错误提示及原因:
若产生错误提示,是因为不按照菜单提示输入,重新按照提示输入就可消除错误
技术文档
1)程序整体结构:
模块的划分
各模块的功能
·main模块:定义一个结构数组,打印“学生考试成绩查询系统”的标题,显示主菜单,实现菜单中的项目对应的功能。
·shuru模块:实现对学生考试信息的输入,学生信息包括姓名,学号,数学、物理、英语这三门课的分数和学分。
·chazhao模块:实现对学生信息的查找,包含了一个二级菜单,菜单各项功能对应子模块
·xiugai模块:实现对学生各科成绩的修改。
·tonji模块:实现对学生成绩的统计,包含一个二级菜单,菜单各项功能对应子模块
·break模块:从主菜单中退出。
·1子模块:给定学号,显示该学生所有课程的考试信息。
·2子模块:给定课程名称,显示该课程所有学生的考试信息。
·3子模块:给定课程,显示该课程所有不及格学生和分数。
·4子模块:从查找菜单中退回主菜单。
·5子模块:统计某学生的考试加权平均分。
·6子模块:统计某门课程的考试平均分。
·7子模块:统计某门课程不及格的人数。
·8子模块:从统计菜单中退回主菜单。
2)模块详细说明:
·main模块:包含函数displaymenu()
* 算法:switch选择语句对主菜单中各项功能选择实现,有输入,查找,修改,统计,退出功能。
* 数据结构:结构数组a[N],结构类型为STUD,结构包括:char id[10]储存学生学号,char name[10]储存学生姓名,结构类型为COUR的math,phys,engl代表数学,物理,英语三门课,此类型包括float credit储存学分,int mark储存分数。
* 函数displaymenu():
§功能:显示主菜单,返回选择值
§函数原型:int displaymenu()
§整型变量choice储存主菜单的选择值,并返回choice
·shuru模块:包含函数void shuru(STUD a[N])
* 算法:不同学生的相同科目学分相同,先将数学,物理,英
语这三门课的学分分别储存放在实型变量mathxf,physxf,englxf中,再用for循环语句赋值到每个学生这三门课的学分。而各学生的学号,姓名,三门课的分数各不相同,则直接用for循环进行赋值。
* 测试结果:
·chazhao模块:包含函数void chazhao(STUD a[N])
* 算法:包含二级菜单,用switch选择语句实现菜单选择功能,
定义整型变量xuanze存放选择值,用字符串
idx[10],courx[4]分别存放要查找的学生学号和课程,
用strcmp函数比较要查找的学生学号idx和已经储存的
结构数组里的学生学号id,若相等,表明是要查找的学
生,输出该生所有考试信息。同样,用strcmp分别比较
要查找的课程courx和“math”,“phys”,“engl”,得
到要查找的课程,输出该课程所有学生的成绩。
·xiugai模块:包含函数void xiugai(ST