多文件格式运动会.docx
- 文档编号:28589719
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:14
- 大小:16.91KB
多文件格式运动会.docx
《多文件格式运动会.docx》由会员分享,可在线阅读,更多相关《多文件格式运动会.docx(14页珍藏版)》请在冰豆网上搜索。
多文件格式运动会
Main.cpp
#include
#include
#include"func.h"
voidmain()
{
inta,b;
do
{
system("cls");
for(a=0;a<50;a++)
printf("*");
printf("\n");
printf("\t\t1:
输入项目信息\n");
printf("\t\t2:
输入学校信息\n");
printf("\t\t3:
输入学校成绩\n");
printf("\t\t4:
按学校编号排序\n");
printf("\t\t5:
按学校总分排序\n");
printf("\t\t6:
按男子团体总分排序\n");
printf("\t\t7:
按女子团体总分排序\n");
printf("\t\t8:
按学校编号查询学校某个项目\n");
printf("\t\t9:
按项目编号查询取得前三或前五名的学校\n");
printf("\t\t10:
退出程序\n");
for(a=0;a<50;a++)
printf("*");
printf("\n");
printf("请输入功能选项1-10):
\n");
scanf("%d",&b);
switch(b)
{
case1:
InputAItem();
system("pause");
break;
case2:
InputASchool();
system("pause");
break;
case3:
InputGrade();
system("pause");
break;
case4:
sort1();
system("pause");
break;
case5:
sort2();
system("pause");
break;
case6:
sort3();
system("pause");
break;
case7:
sort4();
system("pause");
break;
case8:
find1();
system("pause");
break;
case9:
find2();
system("pause");
break;
case10:
exit(0);
}
}while
(1);
}
Func.cpp
#include
#include
#include"func.h"
intInum;//项目总数
intInum_M;//男子项目总数
intInum_W;//女子项目总数
intSnum;//学校总数
structitem{
charname[50];//项目名称
intnum;//项目编号
intplace;//所需名次
inttop[5];//前几名学校编号
}Item[40];
structschool{
charname[50];//学校名称
intnum;//学校编号
intscore[40];//项目得分
inttotal;//学校总分
intMTotal;//男子总分
intWTotal;//女子总分
}School[20],s1;
voidInputAItem()//输入项目信息
{
inti,a,b;
printf("请分别输入男子,女子项目个数:
");
scanf("%d%d",&a,&b);
Inum_M=a;
Inum_W=b;
Inum=a+b;
if(a>20||b>20||a<0||b<0)
printf("error!
");
else
{
for(i=0;i { printf("请输入项目%d的名称,名次(3/5): ",i+1); scanf("%s%d",Item[i].name,&Item[i].place); while(Item[i].place! =3&&Item[i].place! =5) { printf("名次输入错误,请输入3/5: "); scanf("%d",&Item[i].place); } Item[i].num=i+1; } } } voidInputASchool()//输入学校信息 { intj; printf("请输入学校总个数: "); scanf("%d",&Snum); if(Snum>20||Snum<0) printf("error! "); else { for(j=0;j { printf("请输入学校%d名称: ",j+1); scanf("%s",School[j].name); School[j].num=j+1; } } } voidInputGrade()//输入学校成绩 { inti,j,a,b,c,d,e; for(i=0;i { for(j=0;j School[i].score[j]=0; } for(i=0;i { if(Item[i].place==3) { printf("请把项目%d按名次顺序输入前三名学校编号: ",Item[i].num); scanf("%d%d%d",&a,&b,&c); while(a>Snum||b>Snum||c>Snum){ printf("输入错误,含有不存在的学校编号,请重新输入: "); scanf("%d%d%d",&a,&b,&c); } Item[i].top[0]=a; Item[i].top[1]=b; Item[i].top[2]=c; for(j=0;j { if(School[j].num==a) School[j].score[i]=5; elseif(School[j].num==b) School[j].score[i]=3; elseif(School[j].num==c) School[j].score[i]=2; } } elseif(Item[i].place==5) { printf("请把项目%d按名次顺序输入前五名学校编号: ",Item[i].num); scanf("%d%d%d%d%d",&a,&b,&c,&d,&e); while(a>Snum||b>Snum||c>Snum||d>Snum||e>Snum) { printf("输入错误,请重新输入: "); scanf("%d%d%d%d%d",&a,&b,&c,&d,&e); } Item[i].top[0]=a; Item[i].top[1]=b; Item[i].top[2]=c; Item[i].top[3]=d; Item[i].top[4]=e; for(j=0;j { if(School[j].num==a) School[j].score[i]=7; elseif(School[j].num==b) School[j].score[i]=5; elseif(School[j].num==c) School[j].score[i]=3; elseif(School[j].num==d) School[j].score[i]=2; elseif(School[j].num==e) School[j].score[i]=1; } } } for(i=0;i { School[i].total=0; School[i].MTotal=0; School[i].WTotal=0; } for(i=0;i { for(j=0;j School[i].total+=School[i].score[j]; } for(i=0;i { for(j=0;j School[i].MTotal+=School[i].score[j]; } for(i=0;i { for(j=0;j School[i].WTotal+=School[i].score[j+Inum_M]; } School[i].total=School[i].MTotal+School[i].WTotal; } voidshow()//显示 { intj; printf("\t编号学校名称学校总分男子总分女子总分\n"); for(j=0;j printf("\t%d\t%s\t%d\t%d\t%d\n",School[j].num,School[j].name,School[j].total,School[j].MTotal,School[j].WTotal); } voidsort1()//按学校编号从低到高排序 { intp,q; for(p=0;p { for(q=0;q { if(School[q].num>School[q+1].num) { s1=School[q]; School[q]=School[q+1]; School[q+1]=s1; } } } show();//排序后输出 } voidsort2()//按学校总分从高到低排序 { intp,q; for(p=0;p { for(q=0;q { if(School[q].total { s1=School[q]; School[q]=School[q+1]; School[q+1]=s1; } } } show();//排序后输出 } voidsort3()//按男子总分从高到低排序 { intp,q; for(p=0;p { for(q=0;q { if(School[q].MTotal { s1=School[q]; School[q]=School[q+1]; School[q+1]=s1; } } } show();//排序后输出 } voidsort4()//按女子总分从高到低排序 { intp,q; for(p=0;p { for(q=0;q { if(School[q].WTotal { s1=School[q]; School[q]=School[q+1]; School[q+1]=s1; } } } show();//排序后输出 } voidfind1()//按学校编号查询学校某个项目的情况 { intn,r,i,s; printf("依次输入你要查询的学校编号,项目编号: "); scanf("%d%d",&n,&r); if(n>Snum||n<1) printf("学校不存在! \n"); elseif(r>Inum||r<1) printf("项目不存在! \n"); else { for(i=0;i { if(School[i].num==n) s=School[i].score[r-1]; } printf("该项目得分为%d分\n",s); } } voidfind2()//按项目编号查询取得前三或前五名的学校 { inta,i; printf("你需要了解的项目编号: "); scanf("%d",&a); if(a>Inum||a<1) printf("没有此项目\n"); else { for(i=0;i { if(Item[i].num==a) { if(Item[i].place==3) { printf("前三名学校编号为: %d%d%d\n",Item[i].top[0],Item[i].top[1],Item[i].top[2]); break; } elseif(Item[i].place==5) { printf("前五名学校编号为: %d%d%d%d%d\n",Item[i].top[0],Item[i].top[1],Item[i].top[2],Item[i].top[3],Item[i].top[4]); break; } } } } } Func.h voidInputAItem();//输入项目信息 voidInputASchool();//输入学校信息 voidInputGrade();//输入学校成绩 voidshow();//显示 voidsort1();//按学校编号从低到高排序 voidsort2();//按学校总分从高到低排序 voidsort3();//按男子总分从高到低排序 voidsort4();//按女子总分从高到低排序 voidfind1();//按学校编号查询学校某个项目的情况 voidfind2();//按项目编号查询取得前三或前五名的学校
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文件格式 运动会