1、学生成绩管理系统源程序C+#include#include#includeclass stu char name20; double math,chinese,english,average,sum;public: stu() stu(char n20,double ma,double chin,double eng) strcpy(name,n); math=ma; chinese=chin; english=eng; double getsum() sum=chinese+english+math; return sum; double getaver() average=getsum()
2、/3; return average; friend void main(); void main() 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; c
3、out(y)按英语查询排名endl; cout选择相关操作请输入相对的括号里的阿拉伯数字!p; if(p=0&p=10) flag2=1; else cout指令错误!请重新输入:endl; while(flag2=0); do switch(p) case 0: char c; char name20;double math,chinese,english; do cout请输入姓名name; cout请输入数学成绩:math; cout请输入语文成绩:chinese; cout请输入外语成绩:english; filej=new ofstream(d:document,ios:ate);
4、*filej姓名name数学成绩math语文成绩chinese外语成绩englishendl; j+; si=new stu(name, math, chinese, english); i+; cout数据录入成功,想继续录入吗(y/n)c; flag2=0; do if(c!=y&c!=n) cout指令错误!请重新输入!c; else flag2=1; while(flag2=0); while(c=y); break; case 4: double t;char c; do int flag1=0; cout请输入你要查询学生的总成绩t; for(int q=0;qgetsum()=t
5、) flag1=1; cout您要查询的学生是:(*sq).nameendl; if(flag1=0) cout对不起!您要查询的学生不存在!endl; cout您想继续查询吗?(y/n)c; if(c!=y&c!=n) cout指令错误!请重新输入!c; while(c=y); break; case 5: char n20;int j=0;char c; do int flag=0; cout请输入你要查询的学生姓名n; for(int j=0;ji;j+) if(strcmp(n,(*sj).name)=0) flag=1; cout您要查询的学生是:(*sj).nameendl; co
6、ut(*sj).name的总成绩成绩是(*sj).getsum()endl平均成绩是:(*sj).getaver()endl; if(flag=0) cout对不起!您要查询的学生不存在!endl; cout您想继续查询吗?(y/n)c; if(c!=y&c!=n) cout指令错误!请重新输入!c; while(c=y); break; case 1: char name20;double math,chinese,english; char c; do cout请输入您要增加的学生的姓名:name; cout请输入数学成绩:math; cout请输入语文成绩:chinese; cout请输
7、入外语成绩:english; filej=new ofstream(d:document,ios:ate); *filej姓名name数学成绩math语文成绩chinese外语成绩englishendl; j+; si=new stu(name, math, chinese, english); i+; cout数据录入成功,想继续录入吗(y/n)c; if(c!=y&c!=n) cout指令错误!请重新输入!c; while(c=y); break; case 2: char name20;bool flag3=0;char c; do cout请输入您要删除的学生姓名:name; for(
8、int h=0;hname)=0) flag3=1; i-; do sh=sh+1; h+; while(h=i); if(flag3=0) cout您要求删除的对象本来就不存在!请检查输入的正确性!; cout要继续删除吗?(y/n)c; if(c!=y&c!=n) cout指令错误!请重新输入!c; while(c=y); break; case 3: char name20;double mat,chin,eng;flag2=0; char c; do cout请输入您要修改的学生的姓名:name; for(int h=0;hname)=0) flag2=1; cout请输入新的数学成绩
9、:mat; cout请输入新的语文成绩:chin; cout请输入新的外语成绩:eng; sh-chinese=chin; sh-math=mat; sh-english=eng; cout数据修改成功!; if(flag2=0) cout您要修改的学生本来就不存在!请检查重新输入!endl; cout想继续修改吗(y/n)c; if(c!=y&c!=n) cout指令错误!请重新输入!c; while(c=y); break; case 6: cout本系统所有学生数据如下:endl; if(i=0) cout管理系统中没有录入数据或者数据已经被删除!endl; for(int k=0;ki
10、;k+) coutk+1 姓名: name 语文: chinese数学: math 外语: english总分: (*sk).getsum() 平均分: (*sk).getaver()endl; break; case 7: int t;stu b; cout本系统所以学生排名如下:endl; for(int x=0;xi-1;x+) t=x; for(int y=x+1;ygetsum()getsum() t=y; if(t!=x) b=*sx; *sx=*st; *st=b; if(i=0) cout管理系统中没有录入数据或者数据已经被删除!; for(int k=0;ki;k+) cou
11、tk+1 姓名: name 语文: chinese数学: math 外语: english总分: getsum() 平均分: getaver()endl; break; case 8: int t;stu b; cout本系统所以学生语文排名如下:endl; for(int x=0;xi-1;x+) t=x; for(int y=x+1;ychinese)chinese) t=y; if(t!=x) b=*st; *st=*sx; *sx=b; if(i=0) cout管理系统中没有录入数据或者数据已经被删除!; for(int k=0;ki;k+) coutk+1 姓名: name 语文:
12、chinese数学: math 外语: english总分: getsum() 平均分: getaver()endl; break; case 9: int t;stu b; cout本系统所以学生数学排名如下:endl; for(int x=0;xi-1;x+) t=x; for(int y=x+1;ymath)math) t=y; if(t!=x) b=*st; *st=*sx; *sx=b; if(i=0) cout管理系统中没有录入数据或者数据已经被删除!; for(int k=0;ki;k+) coutk+1 姓名: name 语文: chinese数学: math 外语: engl
13、ish总分: getsum() 平均分: getaver()endl; break; case y: int t;stu b; cout本系统所以学生英语排名如下:endl; for(int x=0;xi-1;x+) t=x; for(int y=x+1;yenglish)english) t=y; if(t!=x) b=*st; *st=*sx; *sx=b; if(i=0) cout管理系统中没有录入数据或者数据已经被删除!; for(int k=0;ki;k+) coutk+1 姓名: name 语文: chinese数学: math 外语: english总分: getsum() 平均分: getaver()endl; break; cout您想继续进行其他操作吗?(y/n)w; if(w!=y&w!=n) cout指令错误!请重新输入!endl; else flag4=1; while(flag4=0); if(w=y) cout请输入操作代码(0 录入/4 按总分查询/5 按姓名查询/1 增加人员/2 删除人员/3 修改数据/6 显示所有成员数据/7 按总分排名/8 按语文排名/9按数学排名/y按英语排名)p; while(w=y); for(int x=0;xi;x+) delete sx; coutdelete all members!endl;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1