}
} void showUnpass(int Mark[100][100],Student c[],int number,Course co[],int n){
for(int i=0;i for(int j=0;j if(Mark[i][j]<60){ cout< \ } } } void showGood(int Mark[100][100],Student c[],int number,Course co[],int n){ for(int i=0;i } void order(Student c[],int number,int StuAll[],int n){ for(int i=0;i if(StuAll[i] StuAll[i]=StuAll[i+1]; StuAll[i+1]=sum; stu=c[i]; c[i]=c[i+1]; c[i+1]=stu; } } } } } for(int i=0;i } ofstream out; out.open(\ if(!out){ cerr<<\文件打不开\ abort(); } for(int i=0;i out.close(); } void Delete(int Mark[100][100],Student c[],int number,int n){ string na; cout<<\请输入要删除的学生姓名:\ cin>>na; for(int i=0;i if(c[i].getName()==na){ for(i;i c[i]=c[i+1]; } for(int j=0;j Mark[j][k]=Mark[j][k+1]; } } } else{cout<<\您要删除的学生不存在!\ } cout<<\删除成功!\ } void ReadText(Student c[],int number,Course co[],int n){ char sname[30],sex[30]; int sno; ifstream in(\ if(!in){ cerr<<\文件打不开\ abort(); } int i=-1; in>>sno>>sname>>sex; while(!in.eof()){ i=i+1; c[i].setNo(sno); c[i].setName(sname); c[i].setSex(sex); in>>sno>>sname>>sex; 主函数: #include\ } }; } c1.setStudent(c); c1.setNumber(i+1); in.close(); char nam[20]; ifstream ins(\ if(!ins){ cerr<<\文件打不开\ abort(); } int j=-1; ins>>nam; while(!ins.eof()){ j++; co[j].setName(nam); ins>>nam; } setN(j+1); ins.close(); cout<<\读取文件完毕,请继续操作!\ #include } cout<<\请选择功能:\cout<<\cout<<\cout<<\cout<<\ 输入学生成绩\ 根据成绩排序输出。\ 显示成绩大于90分的学生\显示不及格学生\ cout<<\按姓名查找\cout<<\按学号查找\ cout<<\显示成绩小于课程平均分的学生\cout<<\删除学生信息\cout<<\退出\cout< void main(){ int choice,input ; cout<<\请选择初始化方式:1.手动输入 2.从文件读取\cin>>input; OpreatorCou op; if(input==1){ op.c1.Init();op.IN();} if(input==2){op.ReadText(op.c1.c,op.c1.getNumber(),op.co,op.getN()); } do{ showMenue(); cin>>choice; switch(choice){ case 1: op.input(op.co,op.getN(),op.c1.c,op.c1.getNumber());break; case 2: { op.CountStu(op.Mark,op.c1.getNumber(),op.getN()); op.order(op.c1.c,op.c1.getNumber(),(op.StuAll),op.getN()); break; } case 3: op.showGood(op.Mark,op.c1.c,op.c1.getNumber(),op.co,op.getN()); break; case 4: op.showUnpass(op.Mark,op.c1.c,op.c1.getNumber(),op.co,op.getN());break; case 5: op.c1.searchByName();break; case 6: op.c1.serchByNo(); break; case 7: op.CountCouAvg(op.Mark,op.c1.c,op.c1.getNumber(),op.co,op.getN());break; case 8: op.Delete(op.Mark,op.c1.c,op.c1.getNumber(),op.getN());break; case 0: break; default: cout<<\您输入的有误,请重新输入!\ } }while(choice!=0); } 运行界面: