#include #include #include #include
#define SIZE 9 #define N
#define WM
3
void bsxm();
//比赛项目 void csxx();
//参赛学校 void ttzf() ;
//团体总分 void Information(); void main(); void menu(); void printf_back(); void saveathlete(); void saveprogram(); void saveschool(); void savescore(); void Search();
int i; FILE *fp1,*fp2,*fp3,*fp4;
struct athlete
//定义运动员信息 { char univ[5]; char name[8]; char prog[15];
char mingci[5]; int score; } at[SIZE];
struct xuexiao
//定义学校信息 { char univ[5]; char prog[15]; int num_athlete; } xx[N];
struct program { char prog[5]; int quming;
char ath1[5]; char ath2[5]; char univ1[5]; char univ2[5]; } pro[WM];
//定义项目信息
struct zongfen
//定义学校得分信息 { char univ[5]; char prog1[5]; char prog2[5]; char prog3[5]; int score1; int score2; int score3; int total_score; } zf[N];
void Information()//进入信息录入系统选择系统子函数 {
int n,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 (n4)
{
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
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
printf(\"File write error!\\n\"); }
fclose(fp1); fp1=fopen(\"ath\",\"r\");
printf(\"\\n现在各运动员的信息如下:\\n\\n\");
printf(\"姓名
学校
项目
名次
得分\\n\"); for(i=0;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
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
if(fwrite(&xx[i],sizeof(struct xuexiao),1,fp3)!=1)
printf(\"File write error!\\n\"); } fclose(fp3);
printf_back(); }
void saveprogram() //保存项目比赛信息子函数 { printf(\"\\n请输入关于比赛项目的信息:\");
for(i=0;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
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
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
if(fwrite(&zf[i],sizeof(struct zongfen),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 (n4)
{
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
fread(&zf[i],sizeof(struct zongfen),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
fread(&xx[i],sizeof(struct xuexiao),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
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 (n4)
{
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);
}
}
//公共函数
void printf_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(); }