哪里有错误啊??求解!!
一个班有4个学生,共学习3门课,编写程序,通过菜单选项,分别实现下面的功能:录入学生的信息如下:
学号 姓名 语文 数学 体育 总成绩
101 张三 91 88 98
102 李四 50 90 82
103 王五 87 95 46
104 赵六 91 98 99
程序首先根据用户提示,依次输入4个学生的信息,然后进入菜单界面,菜单如下:
一级菜单
1 修改学生成绩
2 总成绩排序
3 显示成绩不及格学生
4 退出
#include<stdio.h>
#include<string.h>
struct mey
{
int id;
char name[10];
int ch;
int ma;
int ex;
int he;
};
int main()
{
int i,j,k,b,c,t;
char *min[4];
char he[10];
int num[4];
struct mey xin[4];
printf("请输入信息:id name ch ma ex\n");
for(i=0;i<=3;i++)
{
scanf("%d%s%d%d%d",&xin[i].id,xin[i].name,&xin[i].ch,&xin[i].ma,&xin[i]. ex);
}
printf("请选择\n");
printf("1 修改学生成绩\n");
printf("2 总成绩排序\n");
printf("3 显示成绩不及格学生\n");
printf("4 退出\n");
printf("请输入数字:\n");
scanf("%d",&c);
// do
// {
switch(c)
{
case 1:
for(j=0;j<=3;j++)
{
getchar();
printf("是否修改%s的成绩;y/n",xin[j].name);
b=getchar();
switch(b)
{
case 'y':
getchar();
scanf("%d%d%d",&xin[j].ch,&xin[j].ma,&xin[j].ex);
break;
case'n':
break;
}
}
break;
case 2:
for(j=0;j<=3;j++)
{
strcpy(min[j],xin[j].name );
num[j]=xin[j].ch+xin[j].ma+xin[j].ex;
}
for(i=0;i<=3;i++)
{
for(j=0;j<3-i;j++)
{
if(num[j]>num[j+1])
{
t=num[j];
num[j]=num[j+1];
num[j+1]=t;
strcpy(he,min[j]);
strcpy(min[j],min[j+1]);
strcpy(min[j+1],he);
}
}
}
for(k=0;k<=3;k++)
{
printf("%s:%d\n",min[k],num[k]);
}
break;
case 3:
for(k=0;k<=3;k++)
{
if(xin[k].ch<60&&xin[k].ma<60&&xin[k].ex<60)
printf("%s\n",xin[k].name);
}
break;
case 4:
break;
}
//}while(a!=4);
printf("\n");
return 0;
}