哪位大侠帮我找找错误
#include"stdio.h"struct student
{int num;
char name[10];
int score[5];
int aver;
int sum;
int mc;
}d[4];
char course[5][10];
main()
{
int a;
int i=0,f=0,j;
char p[7],mm[7]="123456";
printf("请输入密码\n");
while(i<3)
{
for(j=0;j<6;j++)
{
p[j]=getch();
printf("*");}
p[j]='\0';i++;
if(strcmp(p,mm)==0)
{f=1;break;}
printf("\n");
if(i<3)
printf("请输入正确密码\n");}
if(f==0){printf("再见\n");getch();}
else{printf("欢迎你\n");
printf("*********************\n");
printf("辽宁信息职业技术学院\n");
printf("C语言程序\n");
printf("题目:学生成绩管理系统\n");
printf("设计者:陈忠和\n");
printf("学号:05\n");
printf("指导老师:高阁\n");
printf("日期:2010年12月20日\n");
printf("*********************\n");
while(1)
{
printf("1-录入 2-查询 3-排序 4-修改 5-统计 6-退出\n");
printf("请选择:\n");
scanf("%d",&a);
switch(a)
{
case 1:ll();break;
case 2:xg();break;
case 3:px();break;
case 4:xg();break;
case 5:tj();break;
case 6:exit(0);
default:printf("你输入错误,请在次选择:\n");
}
}
}
}
ll()
{
int i,j;
printf("请输入本学期的四门课程:\n");
for(i=1;i<=4;i++)
scanf("%s",course[i]);
for(i=1;i<4;i++)
{
printf("请输入%d个人的成绩:\n",i);
printf("学号:");scanf("%d",&d[i].num);
printf("姓名:");scanf("%s",d[i].name);
for(j=1;j<=4;j++)
{
printf("%s",course[j]);
scanf("%d",&d[i].score[j]);
}
}
printf(" 学号 姓名%7s%8s%8s%8s 总成绩 平均分 名次\n",
course[1],course[2],course[3],course[4]);
for(i=1;i<4;i++)
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],
d[i].sum,d[i].aver,d[i].mc);
}
cx()
{
int xh;
do
{
printf("1---学号查询 2---姓名查询\n");
printf("3---返回菜单\n");
printf("请选择:\n");
scanf("%d",&xh);
switch(xh)
{
case 1:xhcx();break;
case 2:xmcx();break;
case 3:break;
default:printf("选择错误,重新选择:\n");
}
}
while(xh!=3);
}
xhcx()
{
int i,xh;
printf("请输入学号:\n");
scanf("%d",&xh);
for(i=1;i<4;i++)
if(d[i].num==xh)
{
printf("学号 姓名%7s%8s%8s%8s 总成绩 平均分 名次\n",
course[1],course[2],course[3],course[4]);
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],
d[i].sum,d[i].aver,d[i].mc);break;
}
}
xmcx()
{
int i;
char xm[10];
printf("请输入姓名:\n");
scanf("%s",xm);
for(i=1;i<4;i++)
if(strcmp(d[i].name,xm)==0)
{
printf("学号 姓名%7s%8s%8s%8s 总成绩 平均分 名次\n",
course[1],course[2],course[3],course[4]);
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],
d[i].sum,d[i].aver,d[i].mc);
break;
}
}
px()
{
int a;
do
{
printf("1---平均分排序 2---总分排序\n");
printf("3---回到主菜单\n");
printf("请选择:\n");
scanf("%d",&a);
switch(a)
{
case 1:pjf();break;
case 2:zf();break;
case 3:break;
default:printf("选择错误,请重新选择:\n");
}
}
while(a!=3);
}
zf()
{
int ss[4],i,j,t;
for(i=1;i<4;i++)
{
d[i].sum=d[i].score[1]+d[i].score[2]+d[i].score[3]+d[i].score[4];
ss[i]=d[i].sum;
}
for(i=1;i<4;i++)
for(j=1;j<4;j++)
if(ss[j]<ss[j+1])
{
t=ss[j];ss[j]=ss[j+1];ss[j+1]=t;
}
for(i=1;i<4;i++)
for(j=1;j<4;j++)
if(d[j].sum==ss[i])
d[j].mc=i;
printf("学号 姓名%7s%8s%8s%8s 总成绩 平均分 名次\n",
course[1],course[2],course[3],course[4]);
for(i=1;i<4;i++)
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],
d[i].sum,d[i].aver,d[i].mc);
}
pjf()
{int ss[4],i,j,t;
for(i=1;i<4;i++)
{
d[i].aver=(d[i].score[1]+d[i].score[2]+d[i].score[3]+d[i].score[4])/4;
ss[i]=d[i].aver;
}
for(i=1;i<3;i++)
for(j=1;j<4;j++)
if(ss[j]<ss[j+1])
{
t=ss[j];ss[j]=ss[j+1];ss[j+1]=t;
}
for(i=1;i<4;i++)
for(j=1;j<4;j++)
if(d[j].aver==ss[i])
d[j].mc=i;
printf("学号 姓名%7s%8s%8s%8s 总成绩 平均分 名次\n",
course[1],course[2],course[3],course[4]);
for(i=1;i<4;i++)
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",d[i].num,d[i].name,d[i].score[1],d[i].
score[2],d[i].score[3],d[i].score[3],
d[i].sum,d[i].aver,d[i].mc);
}
xg()
{int a;
do
{printf("1-学号 2-姓名 3-返回主菜单\n");
printf("请选择:\n");
scanf("%d",&a);
switch(a)
{case 1:xhxg();break;
case 2:xmxg();break;
case 3:break;
default:printf("输入错误,请重新输入\n");
}}
while(a!=3);
}
xhxg()
{int xh,i,j;
printf("请输入查询学号");
scanf("%d",&xh);
for(i=1;i<4;i++)
if(d[i].num==xh)
{printf("学号姓名 %8s %8s %8s %8s 总分 平均分 名次\n",
course[1],course[2],course[3],course[4]);
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].
name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],d[i].sum,d[i].aver,d[i].mc);
printf("请输入正确信息\n");
printf("学号:");
scanf("%d",&d[i].num);
printf("姓名:");
scanf("%s",d[i].name);
for(j=1;j<=4;j++)
{printf("%s:",course[j]);
scanf("%d",&d[i].score[j]);
}
printf("学号姓名 %8s %8s %8s %8s 总分 平均分 名次 \n",
course[1],course[2],course[3],course[4]);
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].
name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],d[i].sum,d[i].aver,d[i].mc);
}
}
xmxg()
{int i,j;
char xm[10];
printf("请输入查询姓名:");
scanf("%s",xm);
for(i=1;i<4;i++)
if(strcmp(d[i].name,xm)==0)
{printf("学号 姓名 %8s%8s%8s%8s 总分 平均分 名次\n",course[1],course[2],course[3],course[4]);
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],d[i].sum,d[i].aver,d[i].mc);
printf("请输入正确信息\n");
printf("学号:");
scanf("%d",&d[i].num);
printf("姓名:");
scanf("%s",d[i].name);
for(j=1;j<=4;j++)
{printf("%s:",course[j]);
scanf("%d",&d[i].score[j]);
}
printf(" 学号 姓名%8s %8s %8s %8s总分 平均分 名次\n",course[1],course[2],course[3],course[4]);
printf("%4d%8s%8d%8d%8d%8d%8d%8d%8d\n",
d[i].num,d[i].name,d[i].score[1],d[i].score[2],d[i].score[3],d[i].score[4],d[i].sum,d[i].aver,d[i].mc);
}
}
tj()
{int a;
do
{printf("1-统计每人的平均分 2-统计总分 3-统计全班平均分 4-返回主菜单\n");
printf("请选择:\n");
scanf("%d",&a);
switch(a)
{case 1:tjpf();break;
case 2:tjzf();break;
case 3:tjbpf();break;
case 4:break;
default:printf("输入错误,请重新输入\n");
}}
while(a!=4); }
tjzf()
{int i;
for(i=1;i<=4;i++)
d[i].sum=d[i].score[1]+d[i].score[2]+d[i].score[3]+d[i].score[4];
printf("每个人的总分为:\n");
printf("学号 姓名 总分\n");
for(i=1;i<=4;i++)
printf("%3d%5s%3d\n",d[i].num,d[i].name,d[i].sum);
}
tjbpf()
{int i,t=0;
for(i=1;i<=4;i++)
t+=d[i].sum;
t=t/4;
printf("本班的平均分为:\n");
printf("%3d\n",t);
}
tjpf()
{int i;
for(i=1;i<=4;i++)
d[i].aver=(d[i].score[1]+d[i].score[2]+d[i].score[3]+d[i].score[4])/4;
printf("每个人的平均分为:\n");
printf("学号 姓名 平均分\n");
for(i=1;i<=4;i++)
printf("%3d%5s%3d\n",d[i].num,d[i].name,d[i].aver);
}