学生信息怎么调试浏览时出现了问题
#include <stdio.h>#include <stdlib.h>
#include <conio.h>
int INDEX[3];
struct STUDENT
{
float ps,qz,qm,xh;
char name[21];
}students[3];
void page_title(char *menu_item)
{
printf(">>> 学 生 管 理 系 统 <<<\n\n- %s -\n\n",menu_item);
}
void creat(void)
{
page_title("学生信息");
int n;
for(n=0;n<3;n++)
if(students[n].xh==0) break;
for(n=0;n<3;n++)
{
printf("学号:");
scanf("%d",&students[n].xh);
printf("姓名:");
scanf("%s",&students[n].name);
printf("平时成绩:");
scanf("%f",&students[n].ps);
printf("期中成绩:");
scanf("%f",&students[n].qz);
printf("期末成绩:");
scanf("%f",&students[n].qm);
printf("\n");
}
}
void sort(char nn)
{
page_title("成绩排序");
int n,m,p;
float t[3],x;
for(n=0;n<3;n++)
{
switch(nn)
{
case '2' : t[n]=students[n].xh;break;
case '1' : t[n]=students[n].ps;break;
case '3' : t[n]=students[n].qz;break;
case '4' : t[n]=students[n].qm;break;
case '5' : t[n]=students[n].ps+students[n].qz+students[n].qm;break;
}
}
for(n=0;n<3;n++)
{
x=0;
p=-1;
for(m=0;m<3;m++)
{
if(t[m]>x)
{
x=t[m];
p=m;
}
}
t[p]=-1;
INDEX[n]=p;
}
}
void browser(void)
{
page_title("成绩浏览");
int n,x;
char k;
for(n=0;n<3;n++)
{
if(INDEX[n]!=-1)
{
x=INDEX[n];
printf("%d\t%s\t",students[x].xh,students[x].name);
printf("%d\t%d\t",students[x].ps,students[x].qz);
printf("%d\t%d\t",students[x].qm);
printf("%d\n",students[x].ps+students[x].qz+students[x].qm);
}
}
k=getch();
if(k<'6'&&k>'0') sort(k);
}
void main(void)
{
menu: page_title("操作选单");
printf(" 1.新建学生信息\n");
printf(" 2.浏览学生信息\n");
printf(" 0.返回\n");
switch(getch())
{
case '1' : creat();break;
case '2' : browser();break;
case '0' : exit(0);
}
goto menu;
}