学生成绩管理系统 (1)按顺序输入若干个学生信息 (2)插入一个学生信息(先输入插入位置,再输入学生信息) (3)删除一个学生信息(先删除插入位置,再删除学生信息) (4)修改已知学号的学生信息(按学号来找) (5)查找已知学号的学生信息(按姓名来找) (6)统计一个学生的总分成绩 (7)按总分从高到低输出学生成绩表 (8)显示所有学生的信息 (9)退出。 代码如下: #include<iostream>#include<string>#include<iomanip>using namespace std;struct student{ char name[15]; int number; float chinese,math,English;};student s[50];int i=0,n=0;double allscore[50];void insert();void delete1();void find();void xiugai();void tongji();void sort();void input();void output();void contin(){ cout<<"是否继续操作(y/n)"; char a; int j; cin>>a; while(a!='y'&&a!='n') cin>>a; if(a=='y') { cout<<"你想继续做什么:"; cin>>j; while(!(j<=8&&j>=1)) { cout<<"The number is too big or small,please input it again."; cin>>j; } switch(j) { case 1:cout<<"1、按顺序输入若干个学生的信息"<<endl<<endl;input();break; case 2:cout<<"2、插入一个学生信息"<<endl<<endl;insert();break; case 3:cout<<"3、删除一个学生信息"<<endl<<endl;delete1();break; case 4:cout<<"4、修改一个学生信息(按学号来找)"<<endl<<endl;xiugai();break; case 5:cout<<"5、查找一个学生信息(按姓名来找)"<<endl;find();break; case 6:cout<<"6、统计学生的总分成绩"<<endl<<endl;tongji();break; case 7:cout<<"7、按总分从高到低排序"<<endl<<endl;sort();break; case 8:cout<<"8、显示所有学生信息"<<endl<<endl;output();break; } } else if(a=='n') cout<<"操作结束!!!"<<endl;} void input() //1、按顺序输入若干个学生的信息{ cout<<"你想输入多少个学生信息:"; cin>>n; for(i=0;i<n;i++) { cout<<"学号:"; cin>>s[i].number; cout<<"姓名:"; cin>>s[i].name; cout<<"语文成绩:"; cin>>s[i].chinese; cout<<"数学成绩:"; cin>>s[i].math; cout<<"英语成绩:"; cin>>s[i].English; } for(i=0;i<n;i++) { allscore[i]=s[i].chinese+s[i].English+s[i].math; } contin();}void output() //8、显示所有学生信息{ if(n<=0) { cout<<"请先输入学生的信息,"; input(); } cout<<"每位学生的信息分别为:"<<endl; cout<<"---------------------------------------------------------------------------"<<endl; cout<<setw(15)<<"姓名"<<setw(10)<<"学号"<<setw(12)<<"语文成绩"<<setw(12)<<"数学成绩"<<setw(12) <<"英语成绩"<<setw(12)<<"总分为:"<<endl; for(i=0;i<n;i++) cout<<setw(15)<<s[i].name<<setw(10)<<s[i].number<<setw(12) <<s[i].chinese<<setw(12)<<s[i].math<<setw(12)<<s[i].English<<setw(12)<<allscore[i]<<endl; contin(); } void insert() //2、插入一个学生信息{ if(n<=0) { cout<<"请先输入学生的信息,"; input(); } cout<<"请输入你要插入的位置:"; int k; cin>>k; while(!(k>0&&k<=n)) { cout<<"操作错误,请重新操作:"; cin>>k; } if(k<=n) { n++; for(int i=n-1;i>=k;i--) { s[i]=s[i-1]; } } cout<<"学号:"; cin>>s[k-1].number; cout<<"姓名:"; cin>>s[k-1].name; cout<<"语文成绩:"; cin>>s[k-1].chinese; cout<<"数学成绩:"; cin>>s[k-1].math; cout<<"英语成绩:"; cin>>s[k-1].English; contin();}void delete1() //3、删除一个学生信息{ if(n<=0) { cout<<"请先输入学生的信息,"; input(); } cout<<"请输入你要删除的位置:"; int k; cin>>k; while(!(k>=0&&k<n)) { cout<<"你输入的位置不存在,请重新输入"; cin>>k; } for(i=k-1;i<n;i++) { s[i]=s[i+1]; } n--; contin();}void xiugai() //4、修改一个学生信息(按学号来找){ if(n<=0) { cout<<"请先输入学生的信息,"; input(); } int num;char c; do{ cout<<"请输入需要修改的学生的学号:"; cin>>num; for(int i=0;i<n;i++) { if(s[i].number==num) { cout<<"学号:"; cin>>s[i].number; cout<<"姓名:"; cin>>s[i].name; cout<<"语文成绩:"; cin>>s[i].chinese; cout<<"数学成绩:"; cin>>s[i].math; cout<<"英语成绩:"; cin>>s[i].English; } else {cout<<"没有这个学生."<<endl;break;} } cout<<"是否还要修改(y/n)"; cin>>c; while(c!='y'&&c!='n') cin>>c; }while(c=='y'); contin();}void find() //5、查找一个学生信息(按姓名来找){ if(n<=0) { cout<<"请先输入学生的信息,"; input(); } char na[15]; cin>>na; for(int i=0;i<n;i++) { if(strcmp(s[i].name,na)==0) { cout<<setw(30)<<"所查找的学生信息为:"<<endl; cout<<"---------------------------------------------------------------------------"<<endl; cout<<setw(15)<<"姓名:"<<s[i].name<<setw(10)<<"学号:" <<s[i].number<<setw(12)<<"语文成绩:"<<s[i].chinese<<setw(12)<<"数学成绩:" <<s[i].math<<setw(12)<<"英语成绩:"<<s[i].English<<setw(12)<<"总分为:"<<allscore[i]<<endl; cout<<"---------------------------------------------------------------------------"<<endl; } else cout<<"没有这个学生."<<endl; } contin();}void tongji() //6、统计学生的总分成绩{ if(n<=0) { cout<<"请先输入学生的信息,"; input(); } for(i=0;i<n;i++) allscore[i]=s[i].chinese+s[i].math+s[i].English; cout<<"各位学生的总分分别是"; for(i=0;i<n;i++) { cout<<"第"<<i+1<<"位同学是:"<<s[i].name<<"总分是:"<<allscore[i]<<endl; } contin();}void sort() //7、按总分从高到低排序{ if(n<=0) { cout<<"请先输入学生的信息,"; input(); } student temp; for(i=0;i<n;i++) for(int j=i;j<n;j++) if(allscore[i]<allscore[j]) { temp=s[i]; s[i]=s[j]; s[j]=temp; } cout<<"已经排好序了,是否需要输出(y/n):"; char yn; cin>>yn; while(yn!='y'&&yn!='n') { cout<<"操作错误!!!请重新输入:"; cin>>yn; } if(yn=='y') { cout<<"所有学生的成绩按总分从高到低的排名是:"<<endl; output(); } else contin();}void main(){ cout<<setw(30)<<"学生管理系统"<<endl; for(int s=1;s<=30;s++) cout<<"*"; cout<<" ***"; for(s=1;s<=30;s++) cout<<"*"; cout<<endl; cout<<" 在这个学生管理系统中,你可以做以各方面的内容:"<<endl; cout<<"-------------------------------------------------------------------"<<endl; cout<<" 1、按顺序输入若干个学生的信息;"<<endl; cout<<" 2、插入一个学生信息"<<endl; cout<<" 3、删除一个学生信息"<<endl; cout<<" 4、修改一个学生信息(按学号来找)"<<endl; cout<<" 5、查找一个学生信息(按学号来找)"<<endl; cout<<" 6、统计学生的总分成绩"<<endl; cout<<" 7、按总分从高到低排序"<<endl; cout<<" 8、显示所有学生信息。"<<endl; cout<<"-------------------------------------------------------------------"<<endl; cout<<"你想要做什么:"; int k; cin>>k; while((k<=0||k>9)) { cout<<"The number is too big or small,please input it again."; cin>>k; } switch(k) { case 1:cout<<"1、按顺序输入若干个学生的信息"<<endl<<endl;input();break; case 2:cout<<"2、插入一个学生信息"<<endl<<endl;insert();break; case 3:cout<<"3、删除一个学生信息"<<endl<<endl;delete1();break; case 4:cout<<"4、修改一个学生信息(按学号来找)"<<endl<<endl;xiugai();break; case 5:cout<<"5、查找一个学生信息(按姓名来找)"<<endl<<endl;find();break; case 6:cout<<"6、统计学生的总分成绩"<<endl<<endl;tongji();break; case 7:cout<<"7、按总分从高到低排序"<<endl<<endl;sort();break; case 8:cout<<"8、显示所有学生信息"<<endl<<endl;output();break; case 9:cout<<"9、操作結束!"<<endl;break; }}

评论