求助,请大神修改,教教我,绝对不是请各位帮忙写作业
大一新生,期末c语言的课程设计,自己做了八成写不出来了,调试执行无错,运行有问题,我不知道哪行代码写错了,求大神教下我。题目,代码如下:
题目:重庆大学城市科技学院运动会管理系统
1、数据分析
(1)学院名称
(2)男生竞赛项目名称
(3)女生竞赛项目名称
2、项目名次取法如下几种
第一名10分,第二名9分,第三名7分,第四名5分,第五名4分,第六名3分,第七名2分,第八名1分
由程序提醒用户填写比赛结果
所有信息记录完毕后,用户可以查询比赛项目信息,生成团体总分表,查看参赛院信息
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>
struct table_game//定义一个全局的结构体
{
char xmmc[11];//项目名称
char xymc[7][13];//所属学院名称
char mc[7][3]; //名次
};
struct table_zf
{
char xymc[13];
int fs[7];
};
//定义结构体数组(全局)
struct table_game GAME[1000];
struct table_zf ZF[100];
int x=0;//定义项目数
//定义一个全局变量存放实际的人数
int sjs;
//输入比赛成绩
void input()
{
int n,i,j;
char wrong[100];//用来存放输入选择时候手误输入可能的字符
system("cls");
printf("***************************************************************************\n");
printf("*** 亲,欢迎来到运动员成绩录入功能! ***\n");
printf("***************************************************************************\n");
sjs=0;
for(i=0;i<=999;i++)
{
printf("\n********************************************************************\n");
printf("***** 亲,是否要录入比赛成绩! *****\n");
printf("--- 1、是哒! ---\n");
printf("--- 2、不是哒! ---\n");
printf("\n********************************************************************\n");
printf("亲,请输入你的选择(1 or 2):");
scanf("%d",&n);
gets(wrong);
while(n!=1 && n!=2)
{
printf("亲,你输得不是(1 or 2),请重新输入(1 or 2):");
scanf("%d",&n);
gets(wrong);
}
if(n==2)
{
printf("over\n");
break;
}
else
{
//正常情况下一个运动员的所有信息录入
printf("输入项目名称:");
gets(GAME[i].xmmc);
for(j=0;j<7;j++)
{
printf("输入运动员所属学院名称:");
gets(GAME[i].xymc[j]);
printf("输入名次:");
gets(GAME[i].mc[j]);
}
}
}
system("pause");
}
void output()
{
int i,j;
system("cls");
printf("%-11s","项目名称");
printf("%-13s","所属学院名称");
printf("%-7s","名次");
printf("\n");
for(i=0;i<=999;i++)
{
printf("%-11s",GAME[i].xmmc);
printf("%-13s",GAME[i].xymc[j]);
printf("%-7s",GAME[i].mc[j]);
}
system("pause");
}
//保存数据
void save()
{
FILE *p;
int n;
char wrong[100];
system("cls");
printf("************************************************************************\n");
printf("*** 亲,欢迎来到数据保存功能 ***\n");
printf("*** 1、确定保存 2、放弃保存 ***\n");
printf("************************************************************************\n");
printf("亲,请输入你的选择(1 or 2):");
scanf("%d",&n);
gets(wrong);
while(n!=1 && n!=2)
{
printf("亲,你输入的不是(1 or 2),请重新输入(1 or 2)");
scanf("%d",&n);
gets(wrong);
}
if(n==1)
{
p=fopen("保存数据.txt","w+");
if(p==NULL)
{
printf("数据保存失败!\n");
exit(0);
}
else
{
fwrite(GAME,sizeof(struct table_game),1000,p);
printf("亲,数据保存成功了哟!\n");
fclose(p);
}
}
else
{
printf("放弃数据保存,返回主菜单!\n");
}
system("pause");
}
//读取函数
void load()
{
FILE*p;
int n;
char wrong[100];
system("cls");
printf("************************************************************************\n");
printf("*** 亲,欢迎进入信息读取功能 ***\n");
printf("*** 1、确定读取 2、放弃读取 ***\n");
printf("************************************************************************\n");
printf("亲,请输入你的选择(1 or 2):");
scanf("%d",&n);
gets(wrong);
while(n!=1 && n!=2)
{
printf("亲,你输入的不是(1 or 2),请重新输入(1 or 2):");
scanf("%d",&n);
gets(wrong);
}
if(n==1)
{
p=fopen("保存数据.txt","r+");
if(p==NULL)
{
printf("文件打开失败!\n");
exit(0);
}
else
{
fwrite(GAME,sizeof(struct table_game),1000,p);
printf("亲,数据读取成功了哟!\n");
fclose(p);
}
}
else
{
printf("确定放弃数据读取,即将返回主菜单\n");
}
system("pause");
}
//查询比赛成绩
void search()
{
int n,i,j,flag;
char search_xmmc[11];
char search_mc[7][3];
char search_xymc[7][13];
char wrong[100];
system("cls");
printf("***********************************************************************\n");
printf("*** 亲,欢迎来到查询比赛成绩功能 ***\n");
printf("*** 1、按照项目名称查询 ***\n");
printf("*** 2、按照名次查询 ***\n");
printf("*** 3、查询参赛院信息 ***\n");
printf("*** 4、退出查询 返回菜单 ***\n");
printf("***********************************************************************\n");
printf("亲,请输入你的选择(1 or 2 or 3 or 4):");
scanf("%d",&n);
gets(wrong);
while(n!=1 && n!=2 && n!=3 && n!=4)
{
printf("亲,你输入的不是(1 or 2 or 3 or 4),请重新输入(1 or 2 or 3 or 4)");
scanf("%d",&n);
gets(wrong);
}
switch(n)
{
case 1:
printf("请输入要查询的项目名称:");
gets(search_xmmc[11]);
for(j=0;j<x;j++)
{
flag=0;
puts(GAME[i].xmmc==0);
if( strcmp(search_xmmc,GAME[i].xmmc)==0 )
{
flag=1;
printf("****** 按项目名称查询有以下结果 ******\n");
printf("*** 名次 学院 ***\n ");
printf("*************************************************************\n");
for(i=0;i<7;i++)
{
printf("%7s%7s\n",GAME[j].mc[i],GAME[j].xymc[i]);
}
break;
}
}
if(flag==0)
{
printf("查无此项目!\n");
}
break;
case 2:
printf("请输入名次:");
gets(search_mc[7][3]);
for(j=0;j<x;j++)
{
flag==0;
puts(GAME [i].mc==0);
if(strcmp(search_mc,GAME[i].mc)==0)
{
flag=1;
printf("****** 按名次查询有以下结果 ******\n");
printf("*** 项目名称 学院 ***\n ");
printf("*************************************************************\n");
for(i=0;i<7;i++)
{
printf("%11s%7s\n",GAME[i].xmmc,GAME[j].xymc[i]);
}
break;
}
}
if(flag==0)
{
printf("该名次不存在!\n");
}
break;
case 3:
printf("请输入学院名称:");
gets(search_xymc[7][13]);
for(j=0;j<x;j++)
{
flag==0;
puts(GAME[i].xymc==0);
if(strcmp(search_xymc,GAME[i].xymc)==0)
{
flag=1;
printf("****** 按学院名称查询有以下结果 ******\n");
printf("*** 项目名称 名次 ***\n ");
printf("*************************************************************\n");
for(i=0;i<7;i++)
{
printf("%11s%7s\n",GAME[i].xmmc,GAME[j].mc[i]);
}
break;
}
}
if(flag==0)
{
printf("该学院不存在!\n");
}
break;
case 4: break;
}
system("pause");
}
//显示团体总分排序
int sort()
{
int i,j;
struct table_game t;
system("cls");
printf("****** 团体总分显示如下 *****\n");
printf("****** 学院 总成绩 名次 *****\n");
printf("************************************************************\n");
for(i=0;i<=999;i++);
{
for(j=0;j<999-1;j++)
{
if(GAME[j].mc<GAME[j+1].mc)
{
t=GAME[j];
GAME[j]=GAME[j+1];
GAME[j+1]=t;
}
}
}
output();
}
//统计总分
void tongji()
{
int i;
char wrong[100];
system("cls");
printf("*** 亲,欢迎来到总分统计栏目 ***\n");
for(i=0;i<=19;i++)
{
if(GAME[i].mc==1)
{
if(strcmp(GAME[i].xymc,"建管学院"==0))
ZF[1].fs[1]+=10;
if(strcmp(GAME[i].xymc,"土木学院"==0))
ZF[2].fs[2]+=10;
if(strcmp(GAME[i].xymc,"经管学院"==0))
ZF[3].fs[3]+=10;
if(strcmp(GAME[i].xymc,"人文学院"==0))
ZF[4].fs[4]+=10;
if(strcmp(GAME[i].xymc,"艺术学院"==0))
ZF[5].fs[5]+=10;
if(strcmp(GAME[i].xymc,"电气学院"==0))
ZF[6].fs[6]+=10;
if(strcmp(GAME[i].xymc,"建筑学院"==0))
ZF[7].fs[7]+=10;
}
if(GAME[i].mc==2)
{
if(strcmp(GAME[i].xymc,"建管学院"==0))
ZF[1].fs[1]+=8;
if(strcmp(GAME[i].xymc,"土木学院"==0))
ZF[2].fs[2]+=8;
if(strcmp(GAME[i].xymc,"经管学院"==0))
ZF[3].fs[3]+=8;
if(strcmp(GAME[i].xymc,"人文学院"==0))
ZF[4].fs[4]+=8;
if(strcmp(GAME[i].xymc,"艺术学院"==0))
ZF[5].fs[5]+=8;
if(strcmp(GAME[i].xymc,"电气学院"==0))
ZF[6].fs[6]+=8;
if(strcmp(GAME[i].xymc,"建筑学院"==0))
ZF[7].fs[7]+=8;
}
if(GAME[i].mc==3)
{
if(strcmp(GAME[i].xymc,"建管学院"==0))
ZF[1].fs[1]+=6;
if(strcmp(GAME[i].xymc,"土木学院"==0))
ZF[2].fs[2]+=6;
if(strcmp(GAME[i].xymc,"经管学院"==0))
ZF[3].fs[3]+=6;
if(strcmp(GAME[i].xymc,"人文学院"==0))
ZF[4].fs[4]+=6;
if(strcmp(GAME[i].xymc,"艺术学院"==0))
ZF[5].fs[5]+=6;
if(strcmp(GAME[i].xymc,"电气学院"==0))
ZF[6].fs[6]+=6;
if(strcmp(GAME[i].xymc,"建筑学院"==0))
ZF[7].fs[7]+=6;
}
if(GAME[i].mc==4)
{
if(strcmp(GAME[i].xymc,"建管学院"==0))
ZF[1].fs[1]+=5;
if(strcmp(GAME[i].xymc,"土木学院"==0))
ZF[2].fs[2]+=5;
if(strcmp(GAME[i].xymc,"经管学院"==0))
ZF[3].fs[3]+=5;
if(strcmp(GAME[i].xymc,"人文学院"==0))
ZF[4].fs[4]+=5;
if(strcmp(GAME[i].xymc,"艺术学院"==0))
ZF[5].fs[5]+=5;
if(strcmp(GAME[i].xymc,"电气学院"==0))
ZF[6].fs[6]+=5;
if(strcmp(GAME[i].xymc,"建筑学院"==0))
ZF[7].fs[7]+=5;
}
if(GAME[i].mc==5)
{
if(strcmp(GAME[i].xymc,"建管学院"==0))
ZF[1].fs[1]+=4;
if(strcmp(GAME[i].xymc,"土木学院"==0))
ZF[2].fs[2]+=4;
if(strcmp(GAME[i].xymc,"经管学院"==0))
ZF[3].fs[3]+=4;
if(strcmp(GAME[i].xymc,"人文学院"==0))
ZF[4].fs[4]+=4;
if(strcmp(GAME[i].xymc,"艺术学院"==0))
ZF[5].fs[5]+=4;
if(strcmp(GAME[i].xymc,"电气学院"==0))
ZF[6].fs[6]+=4;
if(strcmp(GAME[i].xymc,"建筑学院"==0))
ZF[7].fs[7]+=4;
}
if(GAME[i].mc==6)
{
if(strcmp(GAME[i].xymc,"建管学院"==0))
ZF[1].fs[1]+=3;
if(strcmp(GAME[i].xymc,"土木学院"==0))
ZF[2].fs[2]+=3;
if(strcmp(GAME[i].xymc,"经管学院"==0))
ZF[3].fs[3]+=3;
if(strcmp(GAME[i].xymc,"人文学院"==0))
ZF[4].fs[4]+=3;
if(strcmp(GAME[i].xymc,"艺术学院"==0))
ZF[5].fs[5]+=3;
if(strcmp(GAME[i].xymc,"电气学院"==0))
ZF[6].fs[6]+=3;
if(strcmp(GAME[i].xymc,"建筑学院"==0))
ZF[7].fs[7]+=3;
}
if(GAME[i].mc==7)
{
if(strcmp(GAME[i].xymc,"建管学院"==0))
ZF[1].fs[1]+=1;
if(strcmp(GAME[i].xymc,"土木学院"==0))
ZF[2].fs[2]+=1;
if(strcmp(GAME[i].xymc,"经管学院"==0))
ZF[3].fs[3]+=1;
if(strcmp(GAME[i].xymc,"人文学院"==0))
ZF[4].fs[4]+=1;
if(strcmp(GAME[i].xymc,"艺术学院"==0))
ZF[5].fs[5]+=1;
if(strcmp(GAME[i].xymc,"电气学院"==0))
ZF[6].fs[6]+=1;
if(strcmp(GAME[i].xymc,"建筑学院"==0))
ZF[7].fs[7]+=1;
}
}
system("pause");
}
//菜单函数
void menu()
{
time_t t;
struct tm *p;
int n;
t=time(NULL);
p=(struct tm *)localtime(&t);
system("cls");
printf(" 运动会管理系统 \n");
printf(" %d-%d-%d %d:%d:%d\n",p->tm_year+1990,p->tm_mon+1,p->tm_mday,p->tm_hour,p->tm_min,p->tm_sec);
printf("***********************************************************\n");
printf("--- 1、录入比赛成绩功能 ----\n");
printf("--- 2、查询各个比赛项目的成绩 ----\n");
printf("--- 3、显示团体总分报表 ----\n");
printf("--- 4、统计总分 ----\n");
printf("--- 5、保存数据 ----\n");
printf("--- 6、读取数据 ----\n");
printf("--- 7、退出系统 ----\n");
printf("***********************************************************\n");
printf("请输入你的选择(1-7):");
scanf("%d",&n);
while(n<0 || n>7)
{
printf("亲,输错了,请重新输入(1-7)");
scanf("%d",&n);
}
switch(n)
{
case 1: input(); menu(); break;
case 2: search();menu(); break;
case 3: sort(); menu(); break;
case 4: tongji();menu(); break;
case 5: save(); menu(); break;
case 6: load(); menu(); break;
case 7: exit(0); menu(); break;
}
}
//主函数
void main()
{
menu();//直接调用
}