YXTS122 2015-09-24 10:38 采纳率: 100%
浏览 1751
已采纳

大神,我这代码运行时为什么出错?

#include
#include
#include
struct sport
{
char sex,athname[10];
char itemtype,itemname[10];
int itemrank,itemnum,mgrade,wgrade;
}ath[2];
struct school
{
int num;
char name[10];
struct sport ath[2];
//int score;
}sch[2];
void xuexiaochazhao()
{
int a,b,schoolnum;

printf("请输入你要查询的学校编号:");
scanf("%d",&schoolnum);
for(a=0;a<2;a++)
{
for(b=0;b<2;b++)
if(sch[a].num==schoolnum)
{
printf("学校编号,名称,运动员(姓名,性别,项目类型,项目编号,项目名称,项目得分)");
printf("\n%5d,%5s,%10s,%5c,%5c,%7d,%13s,%5d\n",
sch[a].num,sch[a].name,sch[a].ath[b].athname,sch[a].ath[b].sex,
sch[a].ath[b].itemtype,sch[a].ath[b].itemnum,sch[a].ath[b].itemname,
sch[a].ath[b].itemrank);

}

}
}
void xiangmuchazhao()
{
int a,b,itnum;

printf("请输入你要查询的项目编号:");
scanf("%d",&itnum);
for(a=0;a<2;a++)
{
for(b=0;b<2;b++)
{
if(ath[b].itemnum==itnum)
{
printf("学校编号,名称,运动员(姓名,性别,项目类型,项目编号,项目名称,项目得分)");
printf("\n%5d,%5s,%10s,%5c,%5c,%7d,%13s,%5d\n",
sch[a].num,sch[a].name,sch[a].ath[b].athname,sch[a].ath[b].sex,
sch[a].ath[b].itemtype,sch[a].ath[b].itemnum,sch[a].ath[b].itemname,
sch[a].ath[b].itemrank);
}
}

}

}
void menu()
{
void inputandrecord(),exited();
int n,i;
printf(" 运动会比赛计分系统 \n");
printf(" 1,本次运动会共有N个学校,M个男生项目,W个女生项目 \n");
printf("2,各个项目项目名次对应得分有两种情况:a,前五名依次得分:7,5,3,2,1;b,前三名依次得分:5,3,2,\n");
printf(" 3,赛后记录每个项目对应得分情况 \n");
printf(" 4,查找每个学校的比赛情况 \n");
printf(" 5,退出 \n");
printf(" -------------------");
printf(" -------------------\n");
for(i=0;i<2;i++)
{
scanf("%d",&n);
switch(n)
{
case 1: inputandrecord();break;
case 5: exited();break;
}
}
}
void inputandrecord()
{
int a,b,m,chazhao;
for(a=0;a<2;a++)
{
printf("\n请输入学校信息\n");
printf("编号:");scanf("%d",&sch[a].num);
printf("名字:");scanf("%s",sch[a].name);
getchar();
for(b=0;b<2;b++)
{
printf("\n请输入项目信息\n");
printf("类型:");scanf("%c",&sch[a].ath[b].itemtype);
printf("编号:");scanf("%d",&sch[a].ath[b].itemnum);
printf("名字:");scanf("%s",sch[a].ath[b].itemname);
getchar();
printf("\n请输入运动员信息\n");
printf("名字:");scanf("%s",sch[a].ath[b].athname);
getchar();
printf("性别:");scanf("%c",&sch[a].ath[b].sex);
printf("名次:");scanf("%d",sch[a].ath[b].itemrank);

        if(sch[a].ath[b].itemtype=='W')
        {
            switch(sch[a].ath[b].itemrank)
            {
            case 0:printf("没有此名次;\n");break;
            case 1:sch[a].ath[b].mgrade=5;printf("mgrade=5\n");break; 
            case 2:sch[a].ath[b].mgrade=3;printf("mgrade=3\n");break;
            case 3:sch[a].ath[b].mgrade=2;printf("mgrade=2\n");break;
            default:printf("不符合条件;\n");
            }
        }
        if(sch[a].ath[b].itemtype=='M')
        {
            switch(sch[a].ath[b].itemrank)
            {
            case 0:printf("没有此名次;\n");break;
            case 1:sch[a].ath[b].wgrade=7;printf("wgrade=7\n");break; 
            case 2:sch[a].ath[b].wgrade=5;printf("wgrade=5\n");break;
            case 3:sch[a].ath[b].wgrade=3;printf("wgrade=3\n");break;
            case 4:sch[a].ath[b].wgrade=2;printf("wgrade=2\n");break;
            case 5:sch[a].ath[b].wgrade=1;printf("wgrade=1\n");break;
            default:printf("不符合条件;\n");
            }
        }
    }
}
for(a=0;a<2;a++)
{
    printf("====学校编号:");
    printf("%d\n",sch[a].num);
    for(b=0;b<2;b++)
    {
        printf("ath[a]:%s-%s-%c-%c-%d-%s-%d\n\n",sch[a].name,sch[a].ath[b].athname,
        sch[a].ath[b].sex,sch[a].ath[b].itemtype,sch[a].ath[b].itemnum,
        sch[a].ath[b].itemname,sch[a].ath[b].itemrank);
    }
}
printf("*******************\n\n");
for(m=0;m<4;m++)
{
   printf("按学校查找请输入1,按项目查找请输入2:  ");
   scanf("   %d",&chazhao);
   if(chazhao==1)
       xuexiaochazhao();
   if(chazhao==2)
       xiangmuchazhao();          
}

}
void exited()
{
printf(" -------------------\n");
printf(" -------------------\n");

printf("感谢老师验收\n");
printf(" -------------------\n");
printf(" -------------------");
}
void main()
{
system("color f5");
menu();
}
图片说明

  • 写回答

7条回答 默认 最新

  • 好儿郎-志在四方 2015-09-24 11:54
    关注

    图片说明
    你压根儿都没有输入,怎么输出呢?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 好儿郎-志在四方 2015-09-24 11:07
    关注

    图片说明

    注意看你程序中对应的位置,你少掉了一个“”&“”符号,
    这是我修改之后运行的结果
    图片说明
    不介意的话,点击一下采纳哈,这样的话可以把C币送给我,呵呵,

    评论
  • 好儿郎-志在四方 2015-09-24 11:07
    关注

    你要学会调试程序,根据错误的位置,定位程序里面的错误,

    评论
  • 好儿郎-志在四方 2015-09-24 11:48
    关注

    图片说明
    需要输入吗?
    你自己写的程序,

    评论
  • YXTS122 2015-09-24 11:50
    关注

    这里没把运动员Sue的分数输出来,怎么解释图片

    评论
  • 好儿郎-志在四方 2015-09-24 11:55
    关注

    存放分数的变量都被你注释了,图片说明
    也没有输入分数,哪里来的输出呢?

    评论
  • 另一花生 2015-09-24 15:26
    关注

    我很奇怪,你直接让他把改好的完整代码,私信给你,不就行了么??

    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 matlab+波形匹配算法
  • ¥15 转录组分析做聚类树图时癌旁组被分到了癌组
  • ¥15 大一Python字典
  • ¥15 multisim电路设计(相关搜索:设计报告)
  • ¥15 PC-lint Plus
  • ¥15 gpl24676注释
  • ¥15 php5.3内存泄露
  • ¥15 DigSilent如何复制复合模型到自己案例?
  • ¥15 求日版华为b610s-77a 官方公版固件,有偿
  • ¥15 关于#java#的问题,请各位专家解答!(相关搜索:java程序)