首页 新闻 赞助 找找看

求找错误!找不出来

0
[已解决问题] 解决于 2014-06-16 13:26

#include <stdio.h>
#include<stdlib.h>
typedef struct xm
{
int xmNum[10];
char xmName[50];
int xmRanking;
int xmGrade;
//struct xm *next;
}XM;
typedef struct xb
{
int xbNum[10];
char xbName[50];
XM item[10];
int score;
struct xb *next;


}XB;
XB *read();
void input();
void count();
void change();
void del();
void search();
void save();
void show();
XB club[5];
XB *p;
void main(){
int n;
char iscontinue='Y';
printf("*******************MENU******************\n");
printf(" 1.输入信息\n");
printf(" 2.计算输入信息\n");
printf(" 3.显示比赛信息\n");
printf(" 4.更改输入信息\n");
printf(" 5.删除信息\n");
printf(" 6.查询比赛信息\n");
printf(" 7.保存比赛信息\n");
printf(" 0.退出\n");
printf("*****************************************\n");
printf("请选择:");
scanf("%d",&n);
while(iscontinue=='Y'||iscontinue=='y'){
switch(n){
case 1:input();
break;
case 2:count();
break;
case 3:show();
break;
case 4:change();
break;
case 5:del();
break;
case 6:search();
break;
case 7:save();
break;
case 0:exit(0);
}
printf("是否继续(Y/N)");
fflush(stdin);
scanf("%c",&iscontinue);
}
}
 

/*----------------
向文件中输入信息
----------------*/
void input()
{
int i,j,m,n,s[5]={0};
p=club;
printf("\n请输入信息\n");
printf("请输入系部的个数");
scanf("%d",&m);
printf(" 系部编号 系部名称 项目编号 项目名称 名次 分数\n");
for(j=0;j<m;j++)
{
printf("请输入参加项目的个数");
scanf("%d",&n);
scanf("%s%s",club[j].xbNum,club[j].xbName);
for(i=0;i<n;i++)
{
scanf("%s%s%d%d",club[j].item[i].xmNum,club[j].item[i].xmName,&club[j].item[i].xmRanking,&club[j].item[i].xmGrade);
//s[j]+=club[j].item[i].xmGrade;
}
//printf("系部总得分:%d\n",s[j]);
}


}
/*-----------
计算
-----------*/
void count()
{
int s[5]={0};

XM *p1;
int i=0;
int num1[10]={0},num2[10]={0};
p=club;
for(p=club;strcmp(p->xbNum,num1)!=0;p++)
{
for(p1=p->item;strcmp(p1->xmNum,num2)!=0;p1++)
{
s[i]+=p1->xmGrade;
}
p->score=s[i];
club[i].score=p->score;
printf("\n%s的总分:%d\n",p->xbName,p->score);
i++;
}


}
/*-----------
显示
-----------*/
void show()
{
int s[5]={0},t=0,n=0,m=0;
int i=0;
int num1[10]={0};
p=club;
for(p=club;strcmp(p->xbNum,num1)!=0;p++)
{

s[i]=p->score;
i++;

}
m=n=i+1;
while(n!=0)
{

for(i=0;i<n;i++)
{
if(s[i]<s[i+1])
{
t=s[i+1];
s[i+1]=s[i];
s[i]=t;
}

}
n--;
}
printf("系部 总分 名次\n");
for(i=0;i<m;i++)
{

for(p=club;p->score!=s[i];p++)
{
i++;
}
printf("%s %d %d\n",p->xbName,p->score,i);
}



}
/*-----------
更改信息
-----------*/
void change()
{

XM *p1;
int i=0,j=0;
int num1[10],num2[10];
p=club;
printf("请输入系部编号\n");
scanf("%s",num1);
for(p=club;strcmp(p->xbNum,num1)!=0;p++)
{
i++;
}
printf("请输入项目编号\n");
scanf("%s",num2);
for(p1=p->item;strcmp(p1->xmNum,num2)!=0;p1++)
{
j++;
}
printf("请输入修改后的信息\n");
scanf("%d%d",&p1->xmRanking,&p1->xmGrade);
club[j].item[i].xmRanking=p1->xmRanking;
club[j].item[i].xmGrade=p1->xmGrade;
}
/*-----------
删除信息
-----------*/
void del()
{
XM item1[9];
int num1[10],num2[10],i,j=0,m,n=0;
p=club;
printf("请输入系部编号\n");
scanf("%s",num1);

for(p=club;strcmp(num1,p->xbNum)!=0;p++)
{
n++;
}
printf("请输入项目编号\n");
scanf("%s",num2);
for(i=0;i<10;i++)
{
if(strcmp(p->item[i].xmNum,num2)==0)
{
m=i;
}
}
for(i=0;i<10;i++)
{

if(i!=m)
{
item1[j]=p->item[i];
club[n].item[j]=item1[j];
j++;
}

}


}
/*-------------
查询
-------------*/
void search()
{
XM *p1;
int i=0,j=0;
int num1[10],num2[10];
p=club;
printf("请输入系部编号\n");
scanf("%s",num1);

for(p=club;strcmp(num1,p->xbNum)!=0;p++)
{
i++;
}
printf("请输入项目编号\n");
scanf("%s",num2);
for(p1=p->item;strcmp(p1->xmNum,num2)!=0;p1++)
{
j++;
}
printf("%s %s %s %s %d %d\n",club[i].xbNum,club[i].xbName,club[i].item[j].xmNum,club[i].item[j].xmName,club[i].item[j].xmRanking,club[i].item[j].xmGrade);
}
/*------------
保存
------------*/
void save()
{
FILE *fp;
int x1[10]={0},x2[10]={0};
XM *p1;
p=club;
fp=fopen("校运动会.txt","w");
fprintf(fp,"系部编号 系部名称 项目编号 项目名称 名次 分数\n");

for(p=club;strcmp(p->xbNum,x1)!=0;p++)
{
fprintf(fp,"\n%s %s\n",p->xbNum,p->xbName);
for(p1=p->item;strcmp(p1->xmNum,x2)!=0;p1++)
{
fprintf(fp," %s %s %d %d\n",p1->xmNum,p1->xmName,p1->xmRanking,p1->xmGrade);
}
}
 

fclose(fp);
printf("文件储存完毕\n");
}
c++
IT小白鸽的主页 IT小白鸽 | 初学一级 | 园豆:-2
提问于:2013-06-09 11:21
< >
分享
最佳答案
0

建议改进一下代码的排版,可以通过编辑器中的“插入代码”按钮添加代码

奖励园豆:5
dudu | 高人七级 |园豆:31075 | 2013-06-09 11:54
其他回答(2)
0

反正我没兴趣看下去。

地质灾害 | 园豆:262 (菜鸟二级) | 2013-07-24 19:48

看你就对什么都没兴趣!

支持(0) 反对(0) 眄眄 | 园豆:211 (菜鸟二级) | 2014-08-08 15:18
0

擦,这代码写的,,好乱+没注释+,,,,看不下去

贫僧寂寞 | 园豆:161 (初学一级) | 2013-08-21 15:19

你写一个啊

支持(0) 反对(0) 眄眄 | 园豆:211 (菜鸟二级) | 2014-08-08 15:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册