C++课程设计之运动会管理系统
本文实例为大家分享了C++运动会管理系统的实现代码,供大家参考,具体内容如下 #include #define MAX 10 #include #include "fstream.h" int n,m,w; class gamescore {public: int academynum; //院系编号 int score[MAX][MAX]; //记录成绩的2维数组 int totalscore[MAX]; //院总分存储数组 int mentotalscore[MAX]; //男团总分存储数组 int womentotalscore[MAX];//女团总分存储数组 int projectnum; //项目编号 gamescore() { academynum=0; projectnum=0; } void search(int academynum,int projectnum); void remove(int academynum,int projectnum); void repair(int academynum,int projectnum); void save(); //保存成绩 void input(); void sort1(); //按院总分排序 void sort2(); //按男团总分排序 void sort3(); //按女团总分排序 void hold(); //存储总分数 int academytotalscore(int academynum); //院总分 int academywomentotalscore(int academynum); //院女团总分 int academymentotalscore(int academynum); //院男团总分 void output1(int academy); //输出院系的成绩列表 void output2(int academynum); //输出院系的团体成绩列表 }; void gamescore::input() { int i,j; for(i=0;i { cout<<"输入编号为"< for(j=0;j { cout<<"输入编号为"< cin>>score[i][j]; if(score[i][j]!=0&&score[i][j]!=2&&score[i][j]!=5&&score[i][j]!=10) { cout<<"成绩输入错误,请检查后再输入"< cin>>score[i][j]; } } } if(i=n-1) cout<<"!!输入完毕"< } void gamescore::save() { ofstream ofs("运动会成绩.txt"); ofs<<"将最终学院参加的对应项目成绩列表列出(行表示学院编号,列表示项目编号)"< for(int i=0;i { for(int j=0;j { ofs< } ofs< } for(i=1;i<=n;i++) { ofs<<"编号为"<ofs<<"编号为"<ofs<<"编号为"<} ofs.close(); } int gamescore::academytotalscore(int academynum)//院总分 { int sum=score[academynum-1][0]; for(int i=1;i { sum=sum+score[academynum-1][i]; } return sum; } int gamescore::academywomentotalscore(int academynum)//院女团总分 { int sum=score[academynum-1][m]; for(int i=m+1;i { sum=sum+score[academynum-1][i]; } return sum; } int gamescore::academymentotalscore(int academynum)//院男团总分 { int sum=score[academynum-1][0]; for(int i=1;i { sum=sum+score[academynum-1][i]; } return sum; } void gamescore::hold()//存储总分 { for(int i=1;i<=n;i++) { totalscore[i-1]=academytotalscore(i); mentotalscore[i-1]=academymentotalscore(i); womentotalscore[i-1]=academywomentotalscore(i); } } void gamescore::sort1()//按院系总分排序 { int p,q; int a[MAX]; for(int i=0;i { a[i]=i+1; } for(int j=0;j { for(i=0;i<=n-1-j;i++) { if(totalscore[i] { p=totalscore[i]; totalscore[i]=totalscore[i+1]; totalscore[i+1]=p; q=a[i]; a[i]=a[i+1]; a[i+1]=q; } } } cout<<"按院系总分从大到小排序,以及对应的院系编号为:"< for(j=0;j { cout< } cout< for(j=0;j { cout< } cout< } void gamescore::sort2()//按男团总分排序 { int p,q; int a[MAX]; for(int i=0;i { a[i]=i+1; } for(int j=0;j { for(i=0;i<=n-1-j;i++) { if(mentotalscore[i] { p=mentotalscore[i]; mentotalscore[i]=mentotalscore[i+1]; mentotalscore[i+1]=p; q=a[i]; a[i]=a[i+1]; a[i+1]=q; } } } cout<<"按男团总分从大到小排序,以及对应的院系编号为:"< for(j=0;j { cout< } cout< for(j=0;j { cout< } cout< } void gamescore::sort3()//按女团总分排序 { int p,q; int a[MAX]; for(int i=0;i { a[i]=i+1; } for(int j=0;j { for(i=0;i<=n-1-j;i++) { if(womentotalscore[i] { p=womentotalscore[i]; womentotalscore[i]=womentotalscore[i+1]; womentotalscore[i+1]=p; q=a[i]; a[i]=a[i+1]; a[i+1]=q; } } } cout<<"按女团总分从大到小排序,以及对应的院系编号为:"< for(j=0;j { cout< } cout< for(j=0;j { cout< } cout< } void gamescore::search(int academynum,int projectnum) {int j; int k; do { cout<<"1 查询该院该单项成绩的总分,2 查询该院总分,3 查询该院男团总分,4 查询该院女团总分,5 按项目编号查询,0 退出查询"< cout<<"请选择:"; cin>>k; if(k<0||k>5) //判断输入的操作编号是否在目录中,如果超出范围重新输入 { cout<<"输入有误,请重新输入要操作的项目编号"; cin>>k; } switch(k) { case 1: cout<<"编号为"< cout< case 2: cout<<"该院总分为:"< case 3: cout<<"该院男团总分为:"< case 4: cout<<"该院女团总分:"< case 5: cout<<"不同院系对应的第"< for(j=0;j { cout<<1+j< } cout< for(j=0;j { cout< } cout< break; default: return; } }while(1); } void gamescore::repair(int academynum,int projectnum) { cout<<"请重新输入该项成绩:"; cin>>score[academynum-1][projectnum-1]; cout<<"修改成功"< } void gamescore::remove(int academynum,int projectnum) { score[academynum-1][projectnum-1]=0; cout<<"!!删除成功"< } void gamescore::output1(int academynum) { //cout<<"该学院运动项目编号及对应的成绩如下:"< for(int i=0;i { cout<<1+i< } cout< for(i=0;i { cout< } } void gamescore::output2(int academynum) { cout<<"该院男团成绩为"< cout<<"该院女团成绩为"< } ///////////////////////////////////////////////////// void main() { int projectnum; int academynum; gamescore a; int num; ////////////////////////////////////////////菜单 cout<<" ****广东海洋大学运动会成绩管理系统****"< cout< cout<<" **********************************************"< cout<<" ** 1 输入院系及其参加项目的成绩 **"< cout<<" ** 2 查询某个院系参加某个项目的成绩 **"< cout<<" ** 3 修改一个项目的成绩 **"< cout<<" ** 4 删除错误成绩的记录 **"< cout<<" ** 5 输出某个院系的得分表 **"< cout<<" ** 6 输出院系的团体得分表 **"< cout<<" ** 7 对成绩按院系进行排序 **"< cout<<" ** 8 对成绩按男团进行排序 **"< cout<<" ** 9 对成绩按女团进行排序 **"< cout<<" ** 10 保存成绩信息 **"< cout<<" ** 0 退出该程序 **"< cout<<" **********************************************"< cout<<" 输入参加院系数 n="; cin>>n; cout<<" 输入男子项目数 m="; cin>>m; cout<<" 输入女子项目数 w="; cin>>w; do{ cout<<"请选择要操作的菜单标号:"; cin>>num; if(num>10||num<0) { cout<<"输入有误,请重新输入要操作的项目编号:"; cin>>num; } switch(num) { case 1: a.input(); break; case 2: cout<<"输入要查找的院系:"; cin>>academynum; cout<<"输入要查询的运动项目编号:"; cin>>projectnum; a.search(academynum,projectnum); break; case 3: cout<<"输入要修改的院系编号"; cin>>academynum; cout<<"输入要修改的运动项目的编号:"; cin>>projectnum; a.repair(academynum,projectnum); break; case 4: cout<<"输入要删除成绩所在的院系的编号:"; cin>>academynum; cout<<"输入要删除运动项目编号:"; cin>>projectnum; a.remove(academynum,projectnum); break; case 5: cout<<"输入要查询成绩的院系编号:"; cin>>academynum; a.output1(academynum); break; case 6: cout<<"输入要查询团体成绩的院系的编号:"; cin>>academynum; a.output2(academynum); break; case 7: cout<<"该学院运动项目编号及对应学院总分的成绩如下:"; a.hold(); a.sort1();break; case 8: cout<<"该学院运动项目编号及对应男团的成绩如下:"; a.hold(); a.sort2();break; case 9: cout<<"该学院运动项目编号及对应女团的成绩如下:"; a.hold(); a.sort3();break; case 10: a.save(); cout<<"!!保存成功"< default: return; } }while(1); } 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |