学生成绩管理系统程序设计报告doc.docx
- 文档编号:8212245
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:10
- 大小:59.63KB
学生成绩管理系统程序设计报告doc.docx
《学生成绩管理系统程序设计报告doc.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统程序设计报告doc.docx(10页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统程序设计报告doc
程序设计报告
(201/201学年第学期)
题目:
学生成绩管理系统
专业软件工程(NIIT)
学生姓名
班级学号
指导教师成小惠
指导单位计算机软件学院
日期2013.3.26
评分细则
评分项
优秀
良好
中等
差
遵守机房规章制度
上机时的表现
学习态度
程序准备情况
程序设计能力
团队合作精神
课题功能实现情况
算法设计合理性
用户界面设计
报告书写认真程度
内容详实程度
文字表达熟练程度
回答问题准确度
简短评语
教师签名:
年月日
评分等级
备注
评分等级有五种:
优秀、良好、中等、及格、不及格
学生成绩管理系统
一、课题内容和要求
设计一个简化的学生成绩管理系统,并用C或C#语言实现。
对该系统的要求如下:
1.该系统应实现以下功能
(1)按班级按课程从文件中读入相应的平时成绩、期中考试成绩和期末考试成绩。
(2)三个成绩对总评成绩的百分比被定义为常数,各占总成绩的30%、30%和40%。
(3)计算每位学生的总评成绩。
(4)算该班级本课程的总平均成绩。
(5)算处于优、良、中、及格、不及格的学生人数以及占总人数的百分比。
其中100-90为优,89-80为良,79-70为中,69-60为及格,60分以下为不及格。
(6)按要求输出成绩在优、良、中、及格、不及格各区间的学生学号。
2.系统应有以下菜单:
0.退出
1.计算每位学生的总评成绩
2.计算班级本课程总评成绩
3.统计优、良、中、及格、不及格的学生人数以及所占比例
4.查询成绩在优、良、中、及格、不及格各区间的学生学号
允许用户不断从这个菜单选择任一功能执行,直到选择退出,才退出整个系统。
二、需求分析
1.系统要从文件中读入相应的平时成绩、期中成绩和期末考试成绩。
这里就用到了C++中的输入输出文件的操作。
在C++语言中进行文件操作的一般步骤为:
(1)为要进行操作的文件定义一个流。
(2)建立(或打开)文件。
(3)进行读/写操作。
(4)关闭文件
另外从文件中读入的数据要在后面进行计算,所以应该把文件中的数据对应到类或者结构体数组上去。
(在这个程序中用的是结构体数组)
2.系统还要有计算的功能,这里的计算包括总评成绩的计算和平均值的计算。
因为要计算多个学生的成绩,所以利用循环语句来进行逐个学生成绩的计算并输出。
(在这个程序中都是用的for循环)
3.统计功能。
需要运用到条件语句,既满足条件就加1,以此来完成计数统计。
4.查询功能。
同样是运用条件语句,判断符合条件就对屏幕输出,达到用户查询的目的。
5.菜单功能。
用简单的菜单函数完成整体的框架,用到switch语句来完成菜单函数的循环。
三、概要设计
1.首先用structstudent定义一个结构数组,里面应该包含学号Id、平时成绩ps、期中成绩qz、期末成绩qm、总评成绩all、等级grade。
2.定义函数
(1)读入文件(fs.open),对应到结构体数组中,利用for循环计算总评成绩并用判断语句来判断等级。
(2)调用file函数,把计算的结果输出屏幕,并且按照要求保存到out文件中(ofstreamfout(“out.dat”);)。
(3)调用file函数,计算平均成绩来得到课程的总评成绩。
(4)调用file函数,if判断语句来统计人数并计算比例,然后输出屏幕。
(5)if判断语句,把符合用户输入等级的学生的学号输出到屏幕。
四、详细设计
#include
#include
#include
#include
structstudent/*定义一个结构数组*/
{
public:
charId[10];
floatps;
floatqz;
floatqm;
floatall;
chargrade;
}stu[20];
fstreamfs;
intnum;
charstr5[100]="学生学号";
charstr6[100]="总评成绩";
charstr7[100]="成绩等级";
voidfile()/*定义一个函数,方便后面的调用*/
{
fs.open("note.dat",ios:
:
in|ios:
:
out);/*对文件读入的操作,文件以输入输出方式打开*/
fs>>num;
for(inti=0;i { fs>>stu[i].Id>>stu[i].ps>>stu[i].qz>>stu[i].qm;/*把文件中得数值对应到结构数组中*/ } for(i=0;i { stu[i].all=stu[i].ps*0.3+stu[i].qz*0.3+stu[i].qm*0.4; if((stu[i].all<=100)&&(stu[i].all>=90)) stu[i].grade='A'; if((stu[i].all<90)&&(stu[i].all>=80)) stu[i].grade='B'; if((stu[i].all<80)&&(stu[i].all>=70)) stu[i].grade='C'; if((stu[i].all<70)&&(stu[i].all>=60)) stu[i].grade='D'; if((stu[i].all<60)&&(stu[i].all>=0)) stu[i].grade='E'; } } voidreadall()/*对选项1的实现,后面调用*/ {file(); inti; ofstreamfout("out.dat");/*输出保存到out文件中*/ if(! fout)/*如果文件打开失败*/ { cout<<"Cannotopenthefile! "< } fout< cout< for(i=0;i { fout< cout< } } voidreadaverage()/*对选项2的实现,后面调用*/ { cout<<"本课程的总评成绩: "; file(); inti; floata[20],p; for(i=0;i { a[i]=stu[i].all; } for(i=1;i { a[i]=a[i]+a[i-1]; } p=a[num-1]/num; cout< } voidreadgrade()/*对选项3的实现,后面调用*/ {inti; intj=0; intk=0; intx=0; inty=0; intz=0; file(); for(i=0;i { if(stu[i].grade==65) j++; if(stu[i].grade==66) k++; if(stu[i].grade==67) x++; if(stu[i].grade==68) y++; if(stu[i].grade==69) z++; } cout<<"成绩为优的学生人数: "; cout< cout<<"成绩为良的学生人数: "; cout< cout<<"成绩为中等的学生人数: "; cout< cout<<"成绩为及格的学生人数: "; cout< cout<<"成绩为不及格的学生人数: "; cout< floatn; cout<<"成绩为优的学生百分比: "; n=float(j)/num; cout< cout<<"成绩为良的学生百分比: "; n=float(k)/num; cout< cout<<"成绩为中等的学生百分比: "; n=float(x)/num; cout< cout<<"成绩为及格的学生百分比: "; n=float(y)/num; cout< cout<<"成绩为不及格的学生百分比: "; n=float(z)/num; cout< } voidreadABCDE()/*对选项4的实现,后面调用*/ {charm[10]; cout<<"请输入你需要查询学生的成绩等级: "; cin>>m; if((m[0]! =65)&&(m[0]! =66)&&(m[0]! =67)&&(m[0]! =68)&&(m[0]! =69)) cout<<"Inputerror"< if(m[0]==65) {cout< for(inti=0;i {if(stu[i].grade=='A') cout< } } if(m[0]==66) {cout< for(inti=0;i {if(stu[i].grade=='B') cout< } } if(m[0]==67) {cout< for(inti=0;i {if(stu[i].grade=='C') cout< } } if(m[0]==68) {cout< for(inti=0;i {if(stu[i].grade=='D') cout< } } if(m[0]==69) {cout< for(inti=0;i {if(stu[i].grade=='E') cout< } } cout< } voidmain()/*菜单函数,整体框架*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 程序设计 报告 doc
![提示](https://static.bdocx.com/images/bang_tan.gif)