C语言运动会计分程序编写_第1页
C语言运动会计分程序编写_第2页
C语言运动会计分程序编写_第3页
C语言运动会计分程序编写_第4页
C语言运动会计分程序编写_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、任务:参加运动会有 n 个学校,学校编号为 1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子 1 m,女子m+1 m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1 ,前三名的积分分别为:5、3、2;哪些取前五 名或前三名由学生自己设定。 (m<=20,n<=20)功能要求:1).可以输入各个项目的前三名或前五名的成绩;2)能统计各学校总分,3)可以按学校编号、学校总分、男女团体总分排序输出;4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取 得前三或前五名的学校。规定:输入数据形式和范围: 20 以内的整数(如果做得更好可以输

2、入 学校的名称,运动项目的名称)输出形式:有中文提示,各学校分数为整形界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以 完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的 相关数据要存储在数据文件中。 (数据文件的数据读写方法等相关内容在 c 语言 程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构; 测试数据:要求使用 1 、全部合法数据; 2 、整体非法数据; 3、局部非法 数据。进行程序测试, 以保证程序的稳定。 测试数据及测试结果请在上交的资料 中写明;#include<stdio.h> #include<s

3、tring>#include<iomanip> #include<fstream>usingnamespacestd;intn,m,w;structpro/ 表示项目的结构体stringname;/ 项目名称intsnum6;/ 前 5 名学校的编号p21;structschool/ 表示学校的结构体intnum;stringname;/ 学校名称intscore;/ 学校总分intmale;/ 男子总分intfemale;/ 女子总分sch21;intintegral15=7,5,3,2,1;/ 前五名得分 intintegral23=5,3,2;/ 前三名得分

4、 voidinput()inti,j,y,x;printf(" 输入学校数目 :");y=0;scanf("%d",&n);if(n>=1&&n<=20)y=1;if(y)break;elseprintf(" 输入数据有误,请重新输入 :");for(i=1;i<=n;i+)printf(" 输入第 %d 个学校的名称 :",i);scanf("%s",&);schi.score=0;schi.female=0;schi.mal

5、e=0;schi.num=i;printf(" 输入男子项目数和女子项目数 :");y=0;scanf("%d%d",&m,&w); if(m<=20&&m>=1&&w<=20&&w>=1)y=1; if(y)break;elseprintf(" 输入数据有误,请重新输入 :");for(i=1;i<=m+w;i+)printf(" 输入第 %d 个项目的名称 :n",i); scanf("%s",&a

6、mp;);printf(" 输入第 %d 个项目的前 5 名的学校编号 :n",i);for( j=1;j<=5;j+)y=0;while(1)scanf("%d",&x);if(x>=1&&x<=20)y=1;if(y)break;elseprintf(" 输入数据有误,请重新输入 :");pi.snumj=x;schx.score+=integralj-1;if(i<=m)schx.male+=integral j-1;elseschx.female+=integral

7、j-1;voidprint(inti)printf("%d%d%s%d%d%d%d%d%d",schi.num,setw(10),,setw(8),schi. score,setw(9),schi.male,setw(10),schi.female);voidbianhao()/ 按编号排序inti,j;n");n");for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.num>schj.num)t=schi;schi=schj;schj=t;printf("n 按编号排列 :n&

8、quot;);printf(" 编号学校名称总分男子总分女子总分for(i=1;i<=n;i+)print(i);voidzongfen()/ 按学校总分排序inti,j;schoolt;for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.score<schj.score)t=schi;schi=schj;schj=t;printf("n 按学校总分排列 :n");printf(" 编号学校名称总分男子总分女子总分for(i=1;i<=n;i+)print(i);ofstreamfout;fout

9、.open(" 运动会分数统计 .txt");fout<<" 编号学校名称总分男子总分女子总分 "<<endl;for(i=1;i<=n;i+)fout<<schi.num<<setw(13)<<<<setw(8)<<schi.score<<setw(9)<<schi.male<<setw(10)<<schi.female<<endl;fout.close();voidmalezf()/

10、按学校男总分排序inti,j;schoolt;for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.male<schj.male)t=schi;schi=schj;schj=t;printf("n 按学校男子总分排列 :n");printf(" 编号学校名称总分男子总分女子总分 n");for(i=1;i<=n;i+)print(i);voidfemalezf()/ 按学校女总分排序inti,j;for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.female<

11、;sch j.female)t=schi;schi=schj;schj=t;printf("n 按学校女子总分排列 :n");n");printf(" 编号学校名称总分男子总分女子总分for(i=1;i<=n;i+)print(i);printf("n");voidcxsch()/ 查询学校信息inti,y,s;printf(" 输入需要查询的学校编号 :");y=0;while(1)scanf("%d",&s);if(s>=1&&s<=n)y=1;if

12、(y)break;elseprintf(" 输入数据有误,请重新输入 :");printf(" 该学校相关信息 :n");printf(" 编号学校名称总分男子总分女子总分 n");for(i=1;i<=n;i+) if(schi.num=s)print(i);break;printf("n");voidcxxm()/ 查询项目信息inti,y,s;printf(" 输入需要查询的项目编号 :");y=0;while(1) scanf("%d",&s);if(s

13、>=1&&s<=n)y=1;if(y)break;elseprintf(" 输入数据有误,请重新输入 :");printf("%s 前 5 名学校编号及名称为 n",); printf(" 名次编号学校名称 n");for(i=1;i<=5;i+) printf("%d%d%d%sn",i,ps.snumi,setw(12),);printf("n");voidsolve()/ 菜单函数intz;while(1)pr

14、intf("n 选择您需要的操作 ( 选择序号 ):n");printf("1. 按学校编号排序输出 n");printf("2. 按学校总分排序输出 n");printf("3. 按学校男总分排序输出 n");printf("4. 按学校女总分排序输出 n");printf("5. 查询某个学校成绩 n");printf("6. 查询某个项目成绩 n");printf("7. 结束 nn");scanf("%d",

15、&z);if(z=1)bianhao();if(z=2)zongfen();if(z=3)malezf();if(z=4)femalezf();if(z=5)cxsch();if(z=6)cxxm();if(z=7)break;intmain()/ 主函数 input(); solve(); return0;#include<stdio.h>#include<string>#include<iomanip>#include<fstream> usingnamespacestd;intn;/n 个学校intm;/m 个男子项目intw;/w

16、 个女子项目structpro/ 表示项目的结构体stringname;/ 项目名称 intsnum6;/ 前 5 名学校的编号 p21;structschool/ 表示学校的结构体 intnum;stringname;/ 学校名称intscore;/ 学校总分intmale;/ 男子总分intfemale;/ 女子总分sch21;intintegral5=7,5,3,2,1;/ 前五名得分voidinput()inti,j,y,x;printf(" 输入学校数目 :");y=0;while(1)scanf("%d",&n);if(n>=1

17、&&n<=20)y=1;if(y)break;elseprintf(" 输入数据有误,请重新输入 :");for(i=1;i<=n;i+)printf(" 输入第 %d 个学校的名称 :",i);scanf("%s",&);schi.score=0;schi.female=0;schi.male=0;schi.num=i;printf(" 输入男子项目数和女子项目数 :");y=0;while(1)scanf("%d%d",&m,&a

18、mp;w);if(m<=20&&m>=1&&w<=20&&w>=1)y=1;if(y)break;elseprintf(" 输入数据有误,请重新输入 :");for(i=1;i<=m+w;i+)printf(" 输入第 %d 个项目的名称 :n",i);scanf("%s",&);printf(" 输入第 %d 个项目的前 5 名的学校编号 :n",i);for( j=1;j<=5;j+)y=0;while(1

19、)scanf("%d",&x);if(x>=1&&x<=20)y=1;if(y)break;elseprintf(" 输入数据有误,请重新输入 :");pi.snumj=x;schx.score+=integralj-1;if(i<=m)schx.male+=integral j-1;elseschx.female+=integralj-1;voidprint(inti)printf("%d%d%s%d%d%d%d%d%d",schi.num,setw(10),,setw(8

20、),schi. score,setw(9),schi.male,setw(10),schi.female);voidbianhao()/ 按编号排序inti,j;schoolt;for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.num>schj.num)t=schi;schi=schj;schj=t;printf("n 按编号排列 :n");printf(" 编号学校名称总分男子总分女子总分 n");for(i=1;i<=n;i+)print(i);voidzongfen()/ 按学校总分排序inti

21、,j;schoolt;for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.score<schj.score) t=schi;schi=schj;schj=t;printf("n 按学校总分排列 :n");printf(" 编号学校名称总分男子总分女子总分 n"); for(i=1;i<=n;i+)print(i);ofstreamfout;fout.open(" 运动会分数统计 .txt");fout<<" 编号学校名称总分男子总分女子总分 "<

22、<endl; for(i=1;i<=n;i+)fout<<schi.num<<setw(13)<<<<setw(8)<<schi.score<<setw(9) <<schi.male<<setw(10)<<schi.female<<endl;fout.close();voidmalezf()/ 按学校男总分排序inti,j;schoolt;for(i=1;i<n;i+)n");n");for( j=i;j<=n;j

23、+) if(schi.male<schj.male)t=schi;schi=schj;schj=t;printf("n 按学校男子总分排列 :n");printf(" 编号学校名称总分男子总分女子总分for(i=1;i<=n;i+)print(i);voidfemalezf()/ 按学校女总分排序inti,j;schoolt;for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.female<sch j.female)t=schi;schi=schj;schj=t;printf("n 按学校女子总分

24、排列 :n");printf(" 编号学校名称总分男子总分女子总分for(i=1;i<=n;i+)print(i);printf("n");voidcxsch()/ 查询学校信息inti,y,s;printf(" 输入需要查询的学校编号 :");y=0;while(1)scanf("%d",&s);if(s>=1&&s<=n)y=1;if(y)break;elseprintf(" 输入数据有误,请重新输入 :");printf(" 该学校相关信息 :n");n");printf(" 编号学校名称总分男子总分女子总分for(i=1;i<=n;i+)if(schi.num=s)print(i);break;printf("n");voidcxxm()/ 查询项目信息inti,y,s;printf(" 输入需要查询的项目编号 :

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论