帮忙看看。。为什么不能运行程序。指出下需要修改的地方
#include<stdio.h>#define N 20
struct student
{
char num[10]; /*学号*/
char name[20]; /*姓名*/
char sex[4]; /*性别*/
int cl; /*班别*/
int yw;/*语文成绩*/
int sx;/*数学成绩*/
int yy;/*英语成绩*/
float sum;/*总分*/
float aver;/*平均分*/
};
int count=0; /*记录输入学生人数*/
struct student stu[N]; /*全局数组*/
/*输入数据*/
void intput()
{
int i;
for(i=1;i<=50;i++)
{
printf("请输入第%d学生\n学号\t姓名\t性别\t班级\t语文成绩\t数学成绩\t英语成绩\t\n",i);
scanf("%s%s%s%d%d%d%d",stu[i].num,stu[i].name,stu[i].sex,&stu[i].cl,&stu[i].yw,&stu[i].sx,&stu[i].yy);
count++;
}
}
/*修改数据*/
void modi()
{
int i,flag=0,n;
char num[10];
printf("请输入需要修改信息的学生的学号:\n");
scanf("%s",num);
if(count==0)
{
printf("暂无任何学生信息\n");
return;
}
for(i=1;i<=count;i++)
if(strcmp(num,stu[i].num)==0)
{flag=1;
break;
}
if(flag)
{
printf("学号\t姓名\t性别\t班级\t语文成绩\t数学成绩\t英语成绩\t\n");
printf("%s\t%s\t%s\t%d\t%d\t%d\t%d\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].cl,
stu[i].yw,stu[i].sx,stu[i].yy);
printf("1.学号\t2.姓名\t3.性别\t4.班级\t\n5.语文成绩\t6.数学成绩\t7.英语成绩\t8.退出修改\n");
scanf("请输入需要修改的项目<1~8>",&n);
while(n<=1&&n<=8)
{
switch(n)
{
case 1:
printf("请输入该同学新学号: ");
scanf("%s",stu[i].num);
break;
case 2:
printf("请输入该同学新姓名: ");
scanf("%s",stu[i].name);
break;
case 3:
printf("请输入该同学新性别: ");
scanf("%s",stu[i].sex);
break;
case 4:
printf("请输入该同学新班级: ");
scanf("%s",stu[i].cl);
break;
case 5:
printf("请输入该同学新语文成绩: ");
scanf("%d",stu[i].yw);
break;
case 6:
printf("请输入该同学新数学成绩: ");
scanf("%d",stu[i].sx);
break;
case 7:
printf("请输入该同学新英语成绩: ");
scanf("%d",stu[i].yy);
break;
case 8:
return main();
}
}
}
else
printf("无此学生\n");
}
/*按学号排序*/
void px()
{
struct student s;
int i,j,min;
for(i=0;1<count-1;i++)
{ min=i;
for(j=i+1;j<count;j++)
if(strcmp(stu[min].num,stu[j].num)>0) min=j;
if(min!=i)
{s=stu[i];stu[i]=stu[min];stu[min]=s;}
}
printf("\n排序成功,可用输出查看结果!\n\n");
}
/*查询学生信息*/
void cx()
{ char num[10];
int i,flag=0;
printf("请输入需要修改信息的学生的学号:\n");
scanf("%s",num);
if(count==0)
{
printf("暂无任何学生信息\n");
return;
}
for(i=1;i<=count;i++)
if(strcmp(num,stu[i].num)==0)
{
flag=1;
break;
}
if(flag)
{
printf("学号\t姓名\t性别\t班级\t语文成绩\t数学成绩\t英语成绩\t\n");
printf("%s\t%s\t%s\t%d\t%d\t%d\t%d\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].cl,
stu[i].yw,stu[i].sx,stu[i].yy);
}
/*平均分*/
void pj()
{
int i;
printf("学号\t姓名\t平均分\t\n");
for(i=0;i<count;i++)
{ stu[i].sum=stu[i].yw+stu[i].sx+stu[i].yy
stu[i].aver=stu[i].sum/3;
printf("%s\t%s\t",stu[i].num,stu[i].name,stu[i].aver);
}
}
/*不及格学生*/
void fail()
{
int i;
for(i=0;i<count;i++)
if(stu[i].yw<60||stu[i].sx<60||stu[i].yy<60)
{printf("有不及格科目的学生是:");
printf("学号\t姓名\t性别\t班级\t语文成绩\t数学成绩\t英语成绩\t\n");
printf("%s\t%s\t%s\t%d\t%d\t%d\t%d\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].cl,stu[i].yw,stu[i].sx,stu[i].yy);
}
}
/*处理数据*/
void handle()
{
int i,n,a;
printf("1.按学号排序\t2.查询\t\n3.统计\t4.返回菜单\n");
scanf("请选择具体的处理内容:",&n);
switch(n)
{
case 1:
px();
break;
case 2:
cx();
break;
case 3:
printf("1.统计平均分/t2.统计不及格学生信息/t3.返回\n");
switch(a)
{
case 1:
pj();
break;
case 2:
fail();
break;
case 3:
return;
}
break;
case 4:
return main();
}
}
/*输出数据*/
void output()
{
int i,j;
printf("学号\t姓名\t性别\t班级\t语文成绩\t数学成绩\t英语成绩\t\n");
for(i=1;i<=50;i++)
{
printf("%s\t%s\t%s\t%d\t%d\t%d\t%d\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].cl,stu[i].yw,stu[i].sx,stu[i].yy);
}
}
void main()
{
int n;
printf("***********************************************************************\n");
printf("1:输入数据\t2:修改数据\t3:处理数据\t\n4.输出数据\t5:退出系统\n");
printf("***********************************************************************\n");
printf("请选择需要进行的操作<1~5>:");
scanf("%d",&n);
while(n<=1&&n<=5)
switch(n)
{
case 1:
intput();
break;
case 2:
modi();
break;
case 3:
handle();
break;
case 4:
output();
break;
case 5:
printf("谢谢使用\n");
break;
}
}