C++学生成绩管理系统
#include<iostream.h> #include<string.h> #include<fstream.h> class student {protected: int number,age,ban;char name[30],sex[30];double match,chinese,english,total,sum; public: student(){} student(char na[30],char s[30],double ma,double chin,double eng,int a,int b,int num) { strcpy(name,na); strcpy(sex,s); match=ma; chinese=chin; english=eng; age= a; ban=b; number=num; } double getsum() { sum=match+chinese+english; return sum; } friend void main(); //定义友员主函数 }; void main() //主函数 { cout<<"**********欢迎使用次学生成绩管理系统**********"<<endl; cout<<"请选择您需要的操作!"<<endl; cout<<"操作:"<<endl; cout<<"(0)数据录入"<<endl; cout<<"(1)增加人员"<<endl; cout<<"(2)删除人员"<<endl; cout<<"(3)修改数据"<<endl; cout<<"查询:"<<endl; cout<<"(4)按总成绩查询"<<endl; cout<<"(5)按姓名查询"<<endl; cout<<"(6)输出所有学生的数据"<<endl; cout<<"成绩名词"<<endl; cout<<"(7)按总分查询排名"<<endl; cout<<"(8)统计数学成绩"<<endl; cout<<"(9)统计语文成绩"<<endl; cout<<"(e)统计英语成绩"<<endl; cout<<"(s)退出系统"<<endl; cout<<"请选择相关操作请输入相对的括号里的数字!"<<endl; char p;char w; student *s[50]; ofstream *file[50]; int i=0; int j=0; bool flag2=0; do { cin>>p; if((p>='0'&&p<='10')) flag2=1; else cout<<"指令错误!请重新输入:"<<endl; }while(flag2==0); do{ switch(p) { case '0': //数据录入 { char ch; char name[30],sex[30];double math,chinese,english;int age,ban; int age; do { cout<<"please input ban"<<endl; cin>>ban; cout<<"please input age"<<endl; cin>>age; cout<<"please input number"<<endl; cin>>number; cout<<"please input sex"<<endl; cin>>sex; cout<<"please input name"<<endl; cin>>name; cout<<"please input math"<<endl; cin>>math; cout<<"please input chinese"<<endl; cin>>chinese; cout<<"please input english"<<endl; cin>>english; file[j]=new ofstream("d:\\lixiao",ios::ate); *file[j]<<"name="<<name<<"math="<<math<<"chinese="<<chinese<<"english="<<english<<endl; j++; s[i]=new student(name,sex, math, chinese, english,age, ban,number); i++; cout<<"数据录入成功,想继续录入吗(y/n)"<<endl; cin>>ch; flag2=0; do { if(ch!='y'&&ch!='n') { cout<<"指令错误!请重新输入!"<<endl; cin>>ch; } else flag2=1; }while(flag2==0); }while(ch=='y'); break; } case '1': //增加数据 { char name[30],sex[30];int age,ban,number;double math,chinese,english; char ch; do { cout<<"please input ban"<<endl; cin>>ban; cout<<"please input age"<<endl; cin>>age; cout<<"please input number"<<endl; cin>>number; cout<<"please input the addition of name"<<endl; cin>>name; cout<<"please input sex"<<endl; cin>>sex; cout<<"please input math"<<endl; cin>>math; cout<<"please input chinese"<<endl; cin>>chinese; cout<<"please input english"<<endl; cin>>english; file[j]=new ofstream("d:\\lili",ios::ate); *file[j]<<"name="<<name<<"math="<<math<<"chinese="<<chinese<<"english="<<english<<endl; j++; s[i]=new student(name,sex, math, chinese, english,age, ban,number); i++; cout<<"数据录入成功,想继续录入吗(y/n)"<<endl; cin>>ch; if(ch!='y'&&ch!='n') { cout<<"指令错误!请重新输入!"<<endl; cin>>ch; } }while(ch=='y'); break; } case '2': //删除数据 { char name[20];bool flag3=0;char ch; do { cout<<"请输入您要删除的学生姓名:"<<endl; cin>>name; for(int h=0;h<i;h++) { if(strcmp(name,s[h]->name)==0) { flag3=1; i--; do { s[h]=s[h+1]; h++; }while(h<=i); } } if(flag3==0) cout<<"您要求删除的对象本来就不存在!请检查输入的正确性!"; cout<<"要继续删除吗?(y/n)"<<endl; cin>>ch; if(ch!='y'&&ch!='n') { cout<<"指令错误!请重新输入!"<<endl; cin>>ch; } }while(ch=='y'); break; } case '3': //修改数据 { char name[20];double mat,chin,eng;flag2=0; char ch; do { cout<<"请输入您要修改的学生的姓名:"<<endl; cin>>name; for(int h=0;h<i;h++) { if(strcmp(name,s[h]->name)==0) { flag2=1; cout<<"please input match"<<endl; cin>>mat; cout<<"please input chinese"<<endl; cin>>chin; cout<<"please input english"<<endl; cin>>eng; s[h]->match=mat; s[h]->chinese=chin; s[h]->english=eng; cout<<"数据修改成功!"; } } if(flag2==0) { cout<<"您要修改的学生本来就不存在!请检查重新输入!"<<endl; } cout<<"想继续修改吗(y/n)"<<endl; cin>>ch; if(ch!='y'&&ch!='n') { cout<<"指令错误!请重新输入!"<<endl; cin>>ch; } }while(ch=='y'); break; } case '4': //按总成绩查询 { double t;char ch; do { int flag1=0; cout<<"请输入你要查询学生的总成绩"<<endl; cin>>t; for(int q=0;q<i;q++) { if(s[q]->getsum()==t) { flag1=1; cout<<"您要查询的学生是:"<<(*s[q]).name<<endl; } } if(flag1==0) cout<<"对不起!您要查询的学生不存在!"<<endl; cout<<"您想继续查询吗?(y/n)"<<endl; cin>>ch; if(ch!='y'&&ch!='n') { cout<<"指令错误!请重新输入!"<<endl; cin>>ch; } } while(ch=='y'); break; } case '5': //按姓名查询 { char n[20];int j=0;char ch; do { int flag=0; cout<<"请输入你要查询的学生姓名"<<endl; cin>>n; for(int j=0;j<i;j++) { if(strcmp(n,(*s[j]).name)==0) { flag=1; cout<<"您要查询的学生是:"<<(*s[j]).name<<endl; cout<<(*s[j]).name<<"的总成绩成绩是"<<(*s[j]).getsum()<<endl; } } if(flag==0) cout<<"对不起!您要查询的学生不存在!"<<endl; cout<<"您想继续查询吗?(y/n)"<<endl; cin>>ch; if(ch!='y'&&ch!='n') { cout<<"指令错误!请重新输入!"<<endl; cin>>ch; } } while(ch=='y'); break; } case '6': //输出所有学生的数据 { cout<<"本系统所有学生数据如下:"<<endl; if(i==0) cout<<"管理系统中没有录入数据或者数据已经被删除!"<<endl; for(int k=0;k<i;k++) { cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<< "语文:"<<" "<<s[k]->chinese<<"数学:"<<" "<<s[k]->match <<"外语:"<<" "<<s[k]->english<<"总分:"<<" "<<(*s[k]).getsum() <<endl; } break; } case '7': //按总成绩排名 { int t;student b; cout<<"本系统所有学生排名如下:"<<endl; for(int x=0;x<i-1;x++) { t=x; for(int y=x+1;y<i;y++) { if((s[t]->getsum())<(s[y]->getsum())) t=y; if(t!=x) { b=*s[x]; *s[x]=*s[t]; *s[t]=b; } } } if(i==0) cout<<"管理系统中没有录入数据或者数据已经被删除!"; for(int k=0;k<i;k++) { cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<< "语文:"<<" "<<s[k]->chinese<<"数学:"<<" "<<s[k]->match <<"外语:"<<" "<<s[k]->english<<"总分:"<<" "<<s[k]->getsum() <<endl; } break; } case '8': //统计数学成绩 { int t=0, b=0; cout<<"本系统所有学生数学统计如下:"<<endl; for(int x=0;x<i;x++) { if((s[t]->match)<60) t++; else b++; } cout<<"数学不及格人数"<<t<<'\n'<<"数学及格人数"<<b; if(i==0) cout<<"管理系统中没有录入数据或者数据已经被删除!"; break; } case '9': //统计语文成绩 { int t=0,b=0; cout<<"本系统所有学生语文统计如下:"<<endl; for(int x=0;x<i;x++) { if((s[t]->chinese)<60) t++; else b++; } cout<<"语文不及格人数"<<t<<endl; cout<<"语文及格人数"<<b<<endl; if(i==0) cout<<"管理系统中没有录入数据或者数据已经被删除!"; break; } case 'e': //统计英语成绩 { int t=0,b=0; cout<<"本系统所有学生英语统计如下:"<<endl; for(int x=0;x<i;x++) { if((s[t]->english)<60) t++; else b++; } cout<<"英语不及格人数"<<t<<endl; cout<<"英语及格人数"<<b<<endl; if(i==0) cout<<"管理系统中没有录入数据或者数据已经被删除!"; break; } case 's': return; } cout<<"您想继续进行其他操作吗?(y/n)"<<endl; bool flag4=0; do { cin>>w; if(w!='y'&&w!='n') cout<<"指令错误!请重新输入!"<<endl; else flag4=1; }while(flag4==0); if(w=='y') cout<<"请输入操作代码(0 录入/1 增加人员/2 删除人员/3 修改数据/4 按总分查询/5 按姓名查询/6 显示所有成员数据/7 按总分排名/8 统计数学成绩/9统计语文成绩/e统计英语成绩/s退出)"<<endl; cin>>p; }while(w=='y'); }
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
- 3
- 4
前往页