运动会成绩统计分析

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成绩________

2008——2009学年第二学期第一周上机实习报告

学院:12

专业:12

班级:12

姓名:12

学号:12

指导教师:

1、运动会分数统计

任务:参加运动会有n个学校,学校编号为1……n。比赛分成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以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)

输出形式:有中文提示,各学校分数为整形

界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

2、需求分析:

需要能够一个能达到输入、查询、统计、输出运动会信息,以及自动进行名词排定等功能的运动会分数统计系统。需要输入时,应加一个新的结构体来直接进行输入工作。其中查询需要输出学校或项目的编号,成绩(可以自拟),排名等,需要的就是一个输出函数,和输出时用指针数组就可以解决。统计者可以先输入各项目中每个学校参赛者的成绩,用一个比较函数进行比较,按照项目排名、学校总成绩排名、男女团体排名输出,供使用者进行参考。

3、概要设计

在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。

3.按学校编号排序输出各学校得成绩

继续 y 退出 n

4.按学校总分排序输出

继续 y 退出 n

5.按男团体总分排序输出

继续 y退出 n

6.按女团体总分排序输出

继续 y退出 n

7.按学校编号查询学校某个项目的成绩

输入学校编号输入项目编号

显示成绩

8.按项目编号查询取得前三或前五名的学校

输入项目编号显示前3或前5的学校

4、详细设计

#include

#include

int a,b,c,d,i,j;

struct node

{

int num;

};

struct node *f[22];

void exit0()

{

FILE *fp;

int k;

alp:if((fp=fopen("sore.txt","w"))==NULL)

{

printf("creat error\n"); /*创建文件失败*/

printf(" 1*****try again\n"); /* 重试*/

printf(" 2*****tui chu\n"); /* 强制退出(数据将不会保存到文件)*/ printf(" 3*****return menu\n"); /*回到主菜单*/

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 alj;

}

}

fprintf(fp,"\n\n");

fprintf(fp," fenshu tongji biao\n\n\n"); /*运动会分数统计表*/

fprintf(fp," xiangmu number"); /*项目代号 */

for(i=1;i<=c+d;i++)

fprintf(fp,"%5d",i);

fprintf(fp," ");

fprintf(fp,"\n school number\n");/*学校代号*/

for(i=1;i<=a;i++)

{

fprintf(fp,"%10d ",i);

for(b=1;b<=c+d;b++)

{

fprintf(fp,"%5d",f[i][b].num);

}

fprintf(fp,"\n");

}

fprintf(fp,"\n\n");

fprintf(fp," the %d school numbers\n\n",a); /*注:本次运动会有%d个学校参赛 */

fprintf(fp," 1 ~ %dman sport zu,%d ~ %dwoman sport zu \n",c,c+1,c+d); /*其中1 ~ %d组是男子组,%d ~ %d组是女子组*/

printf("\n chengji baocun zai“sore.txt”wenjian\n\n");/* 比赛成绩已保存到当前路径下的“sore.txt”文件中*/

fclose(fp);

exit(1);

}

int choose()

{

int choo;

printf("\n\n 1******shuru chengji\n"); /* 输入成绩*/

printf(" 2******tongjixuexiao zhongfen\n"); /*统计各学校的总分 */

printf(" 3******an xuexiao biaohao shuchu\n"); /*按学校编号排序输出*/ printf(" 4******an xuexiao zhongfen shuchu\n"); /*按学校总分排序输出*/

printf(" 5******an man sport zu shuchu\n"); /*按男团体总分排序输出 */ printf(" 6******an woman sport zu shuchu\n"); /*按女团体总分排序输出*/

printf(" 7******an xuexiao bianhao chaxun xiangmu chengji\n"); /*按学

相关文档
最新文档