运动会成绩统计分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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"); /*按学