资源描述
#include〈stdio。h〉
#include〈conio。h>
#include〈stdlib。h>
#include〈string.h〉
#define SIZE 9
#define N 3
#define WM 3
void bsxm(); //比赛项目
void csxx(); //参赛学校
void ttzf() ; //团体总分
void Information();
void main();
void menu();
voidprintf_back();
voidsaveathlete();
voidsaveprogram();
voidsaveschool();
voidsavescore();
void Search();
inti;
FILE *fp1,*fp2,*fp3,*fp4;
struct athlete //定义运动员信息
{
charuniv[5];
char name[8];
charprog[15];
charmingci[5];
int score;
}
at[SIZE];
structxuexiao //定义学校信息
{
charuniv[5];
charprog[15];
intnum_athlete;
}
xx[N];
struct program //定义项目信息
{
charprog[5];
intquming;
char ath1[5];
char ath2[5];
char univ1[5];
char univ2[5];
}
pro[WM];
structzongfen //定义学校得分信息
{
charuniv[5];
char prog1[5];
char prog2[5];
char prog3[5];
int score1;
int score2;
int score3;
inttotal_score;
}
zf[N];
void Information()//进入信息录入系统选择系统子函数
{
intn,w ;
do
{
puts(”\n\n\n");
puts(”\t\t***^__^ Welcome to load 信息录入 system! ^__^***\n”);
puts("\t\t*************************MENU*************************\n”);
puts(”\t\t******** 1。saveathlete **************\n");//运动员姓名录入
puts("\t\t******** 2。saveschool **************\n”);//运动员学校录入
puts("\t\t******** 3。saveprogram() **************\n”);//参加项目录入
puts("\t\t******** 4。back **************\n");//退出
puts("\t\t******************************************************\n”);
printf(”Choic your number(1-4):[ ]\b\b");
scanf(”%d”,&n);
if (n〈1||n>4)
{
w=1;
printf("\n\n\t\t-—-—-——————-—-—————-——DATAERROR!—--————-—----——--—---—\n\n\n");
getchar();
}
else w=0;
}
while (w==1);
switch(n)
{
case 1 : saveathlete(); break;// 保存运动员信息子函数
case 2 : saveschool(); break;//保存学校信息子函数
case 3 : saveprogram();break;//保存项目比赛信息子函数
case 4 : exit(0);
}
}
void saveathlete() //保存运动员信息子函数
{
printf(”\n请输入各项目获奖运动员的信息:”);
for(i=0;i<SIZE;i++)
{
printf("\n请输入第%d个运动员的信息:\n",i+1);
printf(”姓名:”);
scanf(”%s”,at[i]。name);
printf(”学校:");
scanf("%s",at[i]。univ);
printf("参赛项目:");
scanf("%s”,at[i].prog);
printf(”名次:");
scanf("%s",at[i]。mingci);
printf(”得分:”);
scanf(”%d",&at[i]。score);
}
fp1=fopen("ath”,”w”);
for(i=0;i〈SIZE;i++)
{
if(fwrite(&at[i],sizeof(struct athlete),1,fp1)!=1)
printf(”File write error!\n”);
}
fclose(fp1);
fp1=fopen(”ath”,"r”);
printf("\n现在各运动员的信息如下:\n\n”);
printf("姓名学校项目名次得分\n”);
for(i=0;i〈SIZE;i++)
{
fread(&at[i],sizeof(struct athlete),1,fp1);
printf("%—10s%—10s%—18s%—10s%d\n”,at[i]。name,at[i]。univ,at[i]。prog,at[i]。mingci,at[i].score);
}
fclose(fp1);
printf_back();
}
void saveschool() //保存学校信息子函数
{
printf(”\n请输入各参赛学校的信息:”);
for(i=0;i<N;i++)
{
printf(”\n请输入第%d个学校的信息:\n”,i+1);
printf(”学校:”);
scanf("%s”,xx[i]。univ);
printf(”参赛的项目:”);
scanf("%s",xx[i]。prog);
printf(”参赛者数:”);
scanf(”%d",&xx[i].num_athlete);
}
fp3=fopen("xxiao”,”w”);
for(i=0;i〈N;i++)
{
if(fwrite(&xx[i],sizeof(structxuexiao),1,fp3)!=1)
printf(”File write error!\n”);
}
fclose(fp3);
printf_back();
}
void saveprogram() //保存项目比赛信息子函数
{
printf("\n请输入关于比赛项目的信息:”);
for(i=0;i〈WM;i++)
{
printf(”\n请输入第%d项比赛的信息:\n”,i+1);
printf("项目:");
scanf(”%s",pro[i].prog);
printf("取分情况:”);
scanf(”%d”,&pro[i].quming);
printf(”参赛者1:”);
scanf(”%s",pro[i]。ath1);
printf(”所属学校:”);
scanf("%s”,pro[i].univ1);
printf(”参赛者2:");
scanf(”%s",pro[i]。ath2);
printf(”所属学校:");
scanf("%s",pro[i].univ2);
}
fp4=fopen(”pr”,”w");
for(i=0;i<N;i++)
{
if(fwrite(&pro[i],sizeof(struct program),1,fp4)!=1)
printf(”File write error!\n”);
}
fclose(fp4);
printf_back();
}
void savescore() //保存学校得分情况子函数
{
printf("N-参赛学校总数,M—男子竞赛项目数,W—女子竞赛项目数。\n”);
printf(”W。100—女子一百米比赛,M。100-男子一百米,M。200-男子两百米。\n”);
printf(”\n各项名次得分权值如下:\n”);
printf(”取前三名:第一名5分第二名3分第三名2分\n");
printf(”\n请输入各学校的得分情况:”);
for(i=0;i〈N;i++)
{
printf(”\n请输入第%d个学校的得分情况:\n”,i+1);
printf(”学校:");
scanf(”%s”,zf[i].univ);
printf(”参赛项目1:”);
scanf("%s”,zf[i].prog1);
printf("得分:");
scanf(”%d”,&zf[i]。score1);
printf(”参赛项目2:");
scanf(”%s",zf[i]。prog2);
printf(”得分:");
scanf(”%d”,&zf[i].score2);
printf("参赛项目3:");
scanf("%s",zf[i]。prog3);
printf(”得分:”);
scanf("%d”,&zf[i]。score3);
zf[i].total_score=zf[i].score1+zf[i]。score2+zf[i].score3;
}
fp2=fopen("zfen”,”w”);
for(i=0;i<N;i++)
{
if(fwrite(&zf[i],sizeof(structzongfen),1,fp2)!=1)
printf(”File write error!\n");
}
fclose(fp2);
printf_back();
}
void Search() //进入查询系统子函数
{
int n,w2;
do
{
puts("\t\t***^__^ Welcome to load search system! ^__^***\n”);
puts("\t\t*************************MENU*************************\n”);
puts(”\t\t******** 1。search ttzf **************\n”);//查看团体总分
puts(”\t\t******** 2.search csxx **************\n”);//查看参赛学校信息!
puts("\t\t******** 3.search bsxm **************\n”);//查看比赛项目信息!
puts(”\t\t******** 4。Exit **************\n");//退出
puts("\t\t***************************************\n");
printf(”Choose your number(1-4):[ ]\b\b”);
scanf(”%d",&n);
if (n<1||n〉4)
{
w2=1;
printf(”\n\n\t\t--—-—---——-——-——-———-—DATAERROR!————————-——-—-----—---\n\n\n");
getchar();
}
else w2=0;
}
while (w2==1);
switch(n)
{
case 1:ttzf();break;
case 2: csxx();break;
case 3:bsxm();break;
case 4: exit(0);break;
default: printf(”未进行任何操作!”);
}
}
void ttzf() //查看学校团体总分子函数
{
fp2=fopen("zfen",”r”);
printf(”\n各学校的团体总分情况如下:\n\n");
printf(”学校参赛项目总分\n”);
for(i=0;i〈N;i++)
{
fread(&zf[i],sizeof(structzongfen),1,fp2);
printf(”%—8s%s,%s,%-12s%—12d\n",zf[i]。univ,zf[i].prog1,zf[i]。prog2,zf[i]。prog3,zf[i].total_score);
}
fclose(fp2);
printf_back();
}
void csxx() //查看参赛学校信息子函数
{
fp3=fopen("xxiao”,”r”);
printf(”\n各参赛学校的情况如下:\n\n”);
printf(”学校参赛项目参赛者数\n");
for(i=0;i<N;i++)
{
fread(&xx[i],sizeof(structxuexiao),1,fp3);
printf(”%—8s%-20s%—12d\n”,xx[i]。univ,xx[i]。prog,xx[i].num_athlete);
}
fclose(fp3);
printf_back();
}
void bsxm() //查看比赛项目子函数
{
fp4=fopen(”pr",”r”);
printf(”\n各比赛项目的信息如下:\n\n”);
printf("项目取分情况参赛者1 所属学校参赛者2 所属学校\n”);
for(i=0;i〈N;i++)
{
fread(&pro[i],sizeof(struct program),1,fp4);
printf(”%-12s%-10d%-10s%—12s%—10s%-12s\n",pro[i]。prog,pro[i].quming,pro[i]。ath1,pro[i]。univ1,pro[i].ath2,pro[i]。univ2);
}
fclose(fp4);
printf_back();
}
void main()
{
menu();
}
void menu()//主菜单程序
{
int n,w1;
do
{
puts("\t\t***^__^ Welcome to load sports system! ^__^***\n”);
puts("\t\t*************************MENU*************************\n");
puts(”\t\t******** 1.Enter the information **************\n”);//进入信息录入
puts("\t\t******** 2.Score **************\n”);//进入比赛结果录入
puts(”\t\t******** 3.Search **************\n");//进入查询功能
puts(”\t\t******** 4.Exit **************\n");//退出
puts("\t\t******************************************************\n”);
printf("Choose your number(1—4):[ ]\b\b”);
scanf("%d",&n);
if (n〈1||n>4)
{
w1=1;
printf("\n\n\t\t—--—-———----————-——--—DATAERROR!—-——--—————-————-——--—\n\n\n");
getchar();
}
else w1=0;
}
while (w1==1);
switch(n)
{
case 1:Information();break; //输入信息
case 2:savescore();break;//比赛结果录入
case 3:Search();break;//查询模块
case 4:exit(0);
}
}
//公共函数
voidprintf_back()
{
int w;
printf(”\n\n\tSUCCESSFUL!\n\n”);
printf(”What do you want to do next?\n\n\t1).exit \t2).menu:[ ]\b\b”);
scanf("%d",&w);
if(w==1)
exit(0);
else menu();
}
展开阅读全文