C语言实现班级成绩管理系统
C语言课程设计——班级成绩管理系统,供大家参考,具体内容如下
题目:
对一个有N个学生的班级,每个学生有M门课程。该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。功能
要求:
(1)本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、M门课程名称。
(2)本系统显示这样的菜单:
请选择系统功能项:
a、成绩录入
b、成绩显示
c、成绩保存
d、成绩排序
e、成绩修改(要求先输入密码)
f、成绩统计
1)显示每门课程成绩最高的学生的基本信息
2)显示每门课程的平均成绩
3)显示超过某门课程平均成绩的学生人数
g、退出系统
1)执行一个具体的功能之后,程序将重新显示菜单。
2)将学生成绩保存到文件中。
代码:
#include#include #include #include #include #include #include usingnamespacestd; typedefstructStudent{ intID;/*学生学号*/ charname[15];/*学生姓名*/ vector subject;/*因未知课程数量,所以课程数量采用动态数组vector*/ doublesum;/*学生各科成绩总分*/ }Student; structRule{/*排序规则*/ booloperator()(constStudent&stu1,constStudent&stu2)const { if(stu1.sum!=stu2.sum)/*总分不相等按照总分从大到小排序*/ returnstu1.sum>stu2.sum; returnstu1.ID>stu2.ID;/*总分相等按照学号从大到小排序*/ } }; intN,M,i,j;/*N为学生人数,M为课程数量*/ doublescore;/*临时变量*/ Studenttemp;/*临时变量*/ vector Stu;/*本课设采用动态数组vector,防止浪费内存空间*/ boolcondition=true;/*系统运行状态*/ charchoice;/*用于输入来选择功能*/ /*---------------------------------------------a.成绩录入---------------------------------------------*/ voidInsertScore(){ cout<<"请输入班级学生数量和课程数量:"; cin>>N>>M; cout< >temp.ID>>temp.name; for(j=0;j >score; temp.subject.push_back(score); } Stu.push_back(temp); /*------------------------------这一行很重要------------------------------*/ /*------------------------------这一行很重要------------------------------*/ vector ().swap(temp.subject); /*------------------------------这一行很重要------------------------------*/ /*------------------------------这一行很重要------------------------------*/ } cout< >password; /*------------------------------密码输入错误------------------------------*/ while(password!="GUXUNMEI"){ cout< >password; if(password=="Q") return; } /*------------------------------密码输入正确------------------------------*/ cout< >id; if(id==-1){ cout< >no>>score; if(no>M){/*课程不存在*/ cout< Stu[i].subject[maxn[j]]) maxn[j]=i; } } for(i=0;i average[j]) ++count[j]; } cout<<"超过课程"< >choice; cout< 关于管理系统的更多内容请点击《管理系统专题》进行学习
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。