运动会成绩统计分析_第1页
运动会成绩统计分析_第2页
运动会成绩统计分析_第3页
运动会成绩统计分析_第4页
运动会成绩统计分析_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上成绩_20082009学年第二学期第一周上机实习报告学院:12 专业:12 班级:12 姓名:12 学号:12 指导教师: 1、运动会分数统计任务:参加运动会有n个学校,学校编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)功能要求:1).可以输入各个项目的前三名或前五名的成绩;2)能统计各学校总分,3)可以按学校编号、学校总分、男女团体总分排序输出;4

2、).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。规定:输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)输出形式:有中文提示,各学校分数为整形界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试

3、数据及测试结果请在上交的资料中写明;2、需求分析:需要能够一个能达到输入、查询、统计、输出运动会信息,以及自动进行名词排定等功能的运动会分数统计系统。需要输入时,应加一个新的结构体来直接进行输入工作。其中查询需要输出学校或项目的编号,成绩(可以自拟),排名等,需要的就是一个输出函数,和输出时用指针数组就可以解决。统计者可以先输入各项目中每个学校参赛者的成绩,用一个比较函数进行比较,按照项目排名、学校总成绩排名、男女团体排名输出,供使用者进行参考。3、概要设计在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。开始

4、菜单输入共有多少个学校参赛输入有几个男子组参加输入有几个女子组参加主菜单123456789输入成绩统计各学校的总分按学校编号排序输出按学校总分排序输出按男团体总分排序输出按女团体总分排序输出按学校编号查询学校某个项目的成绩按项目编号查询取得前三或前五名的学校退出1.输入成绩输入成绩输入项目编码选择前5或前3依次输出获得名次的学校2.统计显示各学校总分继续 y退出 n3.按学校编号排序输出各学校得成绩继续 y退出 n4.按学校总分排序输出继续 y退出 n5.按男团体总分排序输出继续 y退出 n6.按女团体总分排序输出继续 y退出 n7.按学校编号查询学校某个项目的成绩输入学校编号输入项目编号显示

5、成绩8.按项目编号查询取得前三或前五名的学校输入项目编号显示前3或前5的学校4、详细设计#include<stdio.h>#include<stdlib.h> int a,b,c,d,i,j; struct node int num; ; struct node *f22; void exit0() FILE *fp; int k; alp:if(fp=fopen("sore.txt","w")=NULL) printf("creat errorn"); /*创建文件失败*/printf(" 1*tr

6、y againn"); /* 重试*/printf(" 2*tui chun"); /* 强制退出(数据将不会保存到文件)*/printf(" 3*return menun"); /*回到主菜单*/alj: scanf("%d",&k); if(k=1) goto alp; else if(k=2) exit(0); else if(k=3) return; else printf("put in error,pleaseshuru again:"); /* 输入错误,请重新输入*/goto al

7、j; fprintf(fp,"nn"); fprintf(fp," fenshu tongji biaonnn"); /*运动会分数统计表*/ fprintf(fp," xiangmu number"); /*项目代号 */for(i=1;i<=c+d;i+) fprintf(fp,"%5d",i); fprintf(fp," "); fprintf(fp,"n school numbern");/*学校代号*/ for(i=1;i<=a;i+) fprintf(

8、fp,"%10d ",i); for(b=1;b<=c+d;b+) fprintf(fp,"%5d",fib.num); fprintf(fp,"n"); fprintf(fp,"nn"); fprintf(fp," the %d school numbersnn",a); /*注: 本次运动会有%d个学校参赛 */fprintf(fp," 1 %dman sport zu,%d %dwoman sport zu n",c,c+1,c+d); /*其中1 %d组是男子组

9、,%d %d组是女子组*/printf("n chengji baocun zai“sore.txt”wenjiannn");/* 比赛成绩已保存到当前路径下的“sore.txt”文件中*/ fclose(fp); exit(1); int choose() int choo; printf("nn 1*shuru chengjin"); /* 输入成绩*/printf(" 2*tongjixuexiao zhongfenn"); /*统计各学校的总分 */printf(" 3*an xuexiao biaohao shuc

10、hun"); /*按学校编号排序输出*/printf(" 4*an xuexiao zhongfen shuchun"); /*按学校总分排序输出*/printf(" 5*an man sport zu shuchun"); /*按男团体总分排序输出 */printf(" 6*an woman sport zu shuchun"); /*按女团体总分排序输出*/printf(" 7*an xuexiao bianhao chaxun xiangmu chengjin"); /*按学校编号查询学校某个项目的

11、成绩 */printf(" 8*an xiangmu bianhao chaxun qian3 hou qian5 xuexiaon");/*按项目编号查询取得前三或前五名的学校 */ printf(" 9*exitnn"); /*退出*/ printf("please enter you choise");/*请选择:*/ scanf("%d",&choo); return(choo-1); void input() int ab,ac,ae,af,g=1,get5=0,0,0,0,0; printf(&

12、quot;nshuru xiangmu bianhao:"); /*请输入项目代号:*/ ale:scanf("%d",&ab); if(ab>c+d|ab<1) printf("nxiangmu bu cunzai,please shuru againn"); /*此项目代号不存在,重新输入 */goto ale; ae=0; for(i=0;i<=a;i+) if(fiab.num!=0) ae=1; break; if(ae=1) al2: printf("nchengji yijing luru,ch

13、ongxin luru:n"); /*此项目成绩曾经已被录入过,是否要重新录入(您输入的项目代号可能有误,强烈建议您查证后再录入)*/ printf(" 1+chongxin lurun");/* 重新录入(若重新录入,以前的该项目成绩将被删除)*/ printf(" 2+dai chazheng zai lurunn");/*不要,待查证后再录入 */ scanf("%d",&af); if(af=2) printf("ni yi luru!n"); /*您已取消录入*/return; else

14、 if(af=1) for(i=1;i<=a;i+) if(fiab.num!=0) fi0.num=fi0.num-fiab.num; if(ab<=c) fic+d+1.num=fic+d+1.num-fiab.num; else fic+d+2.num=fic+d+2.num-fiab.num; fiab.num=0; else goto al2; al: printf("nqian ji ming win:nn"); /*此项目是以前几名为胜出者*/printf(" 3-qian 3n"); /*以前三名*/printf("

15、 5-qian 5nn"); /*以前五名 */scanf("%d",&ac); if(ac=3) printf("nwin school number:"); /*请依次输入获胜学校代号*/ af=5; for(i=0;i<3;i+) alq: scanf("%d",&ae); if(ae>a|ae<1) printf("%dxuexiao bu cunzai,chongxin shuru %dming xuexiao bianman",ae,g); /*%d学校代号不

16、存在,重新输入第%d名的学校代号 */goto alq; for(b=0;b<5;b+) if(ae=getb) printf("tongxuexiao cannot zai tongyi xiangmu you liangge mingci ,chongxin shuru%dming xuexiao bianma!n",g); /*同一个学校不能在同一项目中有两个名次,请重新输入第%d名的学校代号*/ goto alq; else getb=ae; fae0.num=fae0.num+af; faeab.num=af; if(ab<=c) faec+d+1.n

17、um=faec+d+1.num+af; else faec+d+2.num=faec+d+2.num+af; if(af>3) af=af-2; else af-; g+; else if(ac=5) printf("please yici shuru win school number:"); /*请依次输入获胜学校代号 */af=7; for(i=0;i<5;i+) alw: scanf("%d",&ae); if(ae>a|ae<1) printf("%dschool number bu cunzai,ch

18、ongxin shuru%dming schoolnumbern",ae,g); /*学校代号不存在,重新输入第%d名的学校代号*/goto alw; for(b=0;b<5;b+) if(ae=getb) printf("tongxuexiao cannot zai tongyi xiangmu you liangge mingci ,chongxin shuru%dming xuexiao bianma!n",g); /*同一个学校不能在同一项目中有两个名次,请重新输入第%d名的学校代号*/ goto alw; else getb=ae; fae0.nu

19、m=fae0.num+af; faeab.num=af; if(ab<=c) faec+d+1.num=faec+d+1.num+af; else faec+d+2.num=faec+d+2.num+af; if(af>3) af=af-2; else af-; g+; else goto al; printf("nn shuru wancheng ! ! ! ! n"); /* 输入完成*/ void each() printf("n duiying geshi:n school numbers:tongti chengjinn "); /

20、*对应的格式为:学校代号:团体总成绩*/for(i=1;i<=a;i+) printf("%2d:%3d ",i,fi0.num); if(i%3=0) printf("n "); void biaohao() printf("nxiangmu"); /*项目代号*/for(i=1;i<=c+d;i+) if(i>9) printf("%4d ",i); else printf("%5d ",i); printf("n"); printf("sch

21、ooln");/*学校代号 */ for(i=1;i<=a;i+) printf(" %d ",i); for(b=1;b<=c+d;b+) if(fib.num>9) printf("%6d",fib.num); else printf("%7d",fib.num); printf("n"); void zongfen() struct nod int ke; int num; ; int ha; struct nod *de; de=(struct nod *)malloc(size

22、of(struct nod)*a+1); printf("an xuexiao biaohao shuchunn"); /*按学校编号排序输出 */printf(" xuexiao bianhao zhongfennn"); /*学校代号 总分*/for(i=1;i<=a;i+) dei.ke=i; dei.num=fi0.num; for(i=1;i<=a;i+) for(b=i;b<a;b+) if(deb.num>dei.num) ha=deb.ke; deb.ke=dei.ke; dei.ke=ha; ha=deb.num

23、; deb.num=dei.num; dei.num=ha; for(i=1;i<=a;i+) printf("%13d%8dn",dei.ke,dei.num); void nanzong() struct nod int ke; int num; ; int ha; struct nod *de; de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf("n an man sport zu shuchunn"); /*按男子团体总分排序输出 */printf(" xuexiao

24、bianhao manzu zhongfennn"); /*学校代号 男子团体总分*/ for(i=1;i<=a;i+) dei.ke=i; dei.num=fic+d+1.num; for(i=1;i<=a;i+) for(b=i;b<a;b+) if(deb.num>dei.num) ha=deb.ke; deb.ke=dei.ke; dei.ke=ha; ha=deb.num; deb.num=dei.num; dei.num=ha; for(i=1;i<=a;i+) printf("%13d%12dn",dei.ke,dei.

25、num); void nvzong() struct nod int ke; int num; ; int ha; struct nod *de; de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf(" an woman sport zu shuchunn"); /*按女子团体总分排序输出 */printf(" xuexiao bianhao womanzu zhongfennn"); /*学校代号 女子团体总分*/for(i=1;i<=a;i+) dei.ke=i; dei.num=fi

26、c+d+2.num; for(i=1;i<=a;i+) for(b=i;b<a;b+) if(deb.num>dei.num) ha=deb.ke; deb.ke=dei.ke; dei.ke=ha; ha=deb.num; deb.num=dei.num; dei.num=ha; for(i=1;i<=a;i+) printf("%15d%13dn",dei.ke,dei.num); void xuexiao() int dr,dt; printf("nshuru ni chaxun school number:");/*请输入

27、您要查询的学校代号 */aly:scanf("%d",&dr); if(dr>a|dr<1) printf("school number bu cunzai,chongxin shurun"); /*学校代号不存在,重新输入*/goto aly; printf("chaxun xiangmu de haoma:"); /*请输入您要查询的项目代号*/ alo:scanf("%d",&dt); if(dt>c+d|dt<1) printf("xiangma bianm

28、a bu cunzai,chongxin churun"); /*项目代号不存在,重新输入 */goto alo; printf("nn %3d xuexiao%3d xiangmuchengji%3dn",dr,dt,fdrdt.num);/* %3d 学校的%3d 项目成绩为%3d */ void xiangmu() int ge,sedy=0; printf("n shuru chaxun xiangmu bianma:"); /*请输入您要查询的项目代号*/ all:scanf("%d",&ge); prin

29、tf("end");if(ge>c+d|ge<1)printf("meiyou xiangmu daihao,chongxin shurun"); /*没有此项目代号,重新输入*/goto all; for(i=1;i<=a;i+) if(fbge.num=2) sedy=1; if(sedy=0) printf("xiangmu meiyou luru chengjin"); /* 此项目没有录入成绩*/return; for(i=1;i<=a;i+) if(fige.num=7) printf("

30、 qu qian5ming winn"); /*此项目取前5名获奖者 */break; if(i=a+1) printf(" qu qian3ming winn"); /*此项目取前3名获奖者*/printf("n win mingdan gao dao di paixun:nn "); /*获胜名单由成绩高到低依次为*/ for(i=7;i>0;i-) for(b=1;b<=a;b+) if(fbge.num=i) printf("%5d",b); void(*g)()=input,each,biaohao,zongfen,nanzong,nvzong,xuexiao,xiangmu,exit0; void main() int choos; printf("nn * * * sports games datas * * *nnn"); /*运动会分数统计*/printf("you duoshao xuexiao cenjia:"); /*共有多少个学校参赛 */scanf("%d&

温馨提示

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

最新文档

评论

0/150

提交评论