学生成绩管理系统C++Word文档格式.docx
《学生成绩管理系统C++Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统C++Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
intgetNo(){returnno;
voidsetSex(strings){sex=s;
voidsetNo(intsno){no=sno;
voidsetName(stringnam){name=nam;
voidshow(){
cout<
<
"
学号
:
no<
endl;
姓名
name<
性别
sex<
endl;
voidInit(){
stringn;
intnum,s;
请输入学号:
cin»
num;
请输入姓名:
n;
请选择性别:
男0,女1"
cin>
>
s;
no=num;
name=n;
strings1,s2;
if(s=0){s1="
boy"
;
Student:
setSex(s1);
else{
s2="
girl"
setSex(s2);
};
classClasses{private:
stringname;
intnumber;
Studentc[100];
intgetNumber(){returnnumber;
StudentgetStu(){returnc[100];
voidsetStudent(Studenta[100]){c[100]=a[100];
voidsetNumber(intnum){number=num;
number=0;
stringnam;
请输入班级姓名:
nam;
请输入班级人数:
number;
for(inti=0;
i<
number;
i++){
c[i]」nit();
ofstreamout;
out.open("
student.txt"
ios:
out);
cerr<
文件打不开"
abort();
for(inti=O;
c[i].getSex()<
out<
c[i].getNo()<
"
c[i].getName()<
out.close();
voidsearchByName(){
请输入要查找的学生姓名:
inti;
for(i=0;
if(c[i].getName()==nam){
c[i].show();
voidserchByNo(){
intn;
请输入要查找的学号;
cin»
100;
if(c[i].getNo()==n){c[i].show();
break;
classCourse{
intscore;
请输入课程名:
setName(nam);
};
classOpreatorCou{
Classesc1;
Courseco[20];
intMark[100][100],StuAII[100],n;
voidsetN(intnn){n=nn;
intgetN(){returnn;
intgetMark(){returnMark[100][100];
CoursegetCo(){returnco[20];
voidIN(){
请输入课程数量:
n;
i++){
co[i].lnit();
ofstreamoutS;
outS.open("
course.txt"
if(!
outS){
outS<
co[i].getName()<
outS.close();
voidinput(Courseco[20],intn,Studentc[],intnumber){
ints;
for(intj=O;
j<
j++){
请输入"
c[j].getName()<
的"
成绩
if(s<
O||s>
1OO){
你输入的成绩有误请重新输入!
(成绩范围为0-100!
)
j=j-1;
Mark[i][j]=s;
score.txt"
out){
co[i].getName();
Mark[i][j]<
voidCountStu(intMark[100][100],intnumber,intn){
ints=0;
j<
n;
s=s+Mark[j][i];
StuAII[i]=s;
voidCountCouAvg(intMark[100][100],Studentc[],intnumber,Courseco[],intn){floatCouAll[10];
floats=0.0;
for(intj=0;
s=s+Mark[i][j];
CouAII[i]=s/n;
的平均分是:
(CouAII[i])<
成绩小于平
if(Mark[i][j]<
CouAII[i]){
的"
均分。
voidshowUnpass(intMark[100][100],Studentc[],intnumber,Courseco[],intn){
60){
格!
voidshowGood(intMark[100][100],Studentc[],intnumber,Courseco[],intn){
if(Mark[i][j]>
90){
成绩不及
成绩优秀!
成绩为:
Mark[i][j]<
voidorder(Studentc[],intnumber」ntStuA叩,intn){for(inti=0;
i<
intsum=0;
Studentstu;
if(StuAII[i]<
StuAII[i+1]){
sum=StuAII[i];
StuAII[i]=StuAII[i+1];
StuAII[i+1]=sum;
stu=c[i];
c[i]=c[i+1];
c[i+1]=stu;
的排名是:
(i+1)<
StuAII[i]<
studentscore.txt"
voidDelete(intMark[100][100],Studentc[],intnumber」ntn){
stringna;
请输入要删除的学生姓名:
na;
if(c[i].getName()==na){
for(i;
for(intk=i;
k<
k++){
Mark[j][k]=Mark[j][k+1];
else{cout<
您要删除的学生不存在!
删除成功!
voidReadText(Studentc[],intnumber,Courseco[],intn){
charsname[30],sex[30];
intsno;
ifstreamin("
in);
in){
inti=-1;
in»
sno>
>
sname»
sex;
while(!
in.eof()){
i=i+1;
c[i].setNo(sno);
c[i].setName(sname);
c[i].setSex(sex);
c1.setStudent(c);
c1.setNumber(i+1);
in.close();
charnam[20];
ifstreamins("
ins){
abort();
intj=-1;
ins»
ins.eof()){
j++;
co[j].setName(nam);
setN(j+1);
ins.close();
读取文件完毕,请继续操作!
主函数:
#include"
class.cpp"
voidshowMenue(){
********学生成绩管理系统********"
请选择功能:
1
输入学生成绩"
2
根据成绩排序输出。
”<
3
显示成绩大于90分的学生"
4
显示不及格学生"
5
按姓名查找"
6
按学号查找"
7
显示成绩小于课程平均分的学生"
8
删除学生信息"
退出"
voidmain(){
intchoice,input;
请选择初始化方式:
1.手动输入2•从文件读取"
input;
OpreatorCouop;
if(input==1){op.cl.lnit();
op」N();
if(input==2){op.ReadText(op.c1.c,op.c1.getNumber(),op.co,op.getN());
}
do{
showMenue();
choice;
switch(choice){
case1:
op.input(op.co,op.getN(),op.c1.c,op.c1.getNumber());
case2:
{op.CountStu(op.Mark,op.c1.getNumber(),op.getN());
op.order(op.c1.c,op.c1.getNumber(),(op.StuAII),op.getN());
case3:
op.showGood(op.Mark,op.c1.c,op.c1.getNumber(),op.co,op.getN());
break;
case4:
op.showUnpass(op.Mark,op.c1.c,op.c1.getNumber(),op.co,op.getN());
case5:
op.c1.searchByName();
case6:
op.c1.serchByNo();
case7:
op.CountCouAvg(op.Mark,op.c1.c,op.c1.getNumber(),op.co,op.getN());
case8:
op.Delete(op.Mark,op.c1.c,op.c1.getNumber(),op.getN());
case0:
default:
cout<
您输入的有误,请重新输入!
}while(choice!
=0);
运行界面
****京宣常京学生成绩管理系统**帛帛京常京京请选择功能:
1输入学生成绩
2根据成绩排序输出口
3显示成绩大于90分的学生
4显示不及格学生
5按姓名查找
6按学号查找
7显示成绩小于课程平均分的学生
8删除学生信息
0退出