想问下怎么输入编号输出录入的信息

#include
struct student
{
int bh;
char name[3];
char zl;
int sl;
char time[5];
char add[4];
}a[2];
int main()
{
void entering();
void query();
int i;
do
{
printf("1.录入信息\n");
printf("2.信息修改\n");
printf("3.信息查询\n");
printf("4.信息显示\n");
printf("5.信息统计\n");
printf("6.退出\n");
scanf("%d",&i);
switch(i)
{
case 1:entering();break;
case 2:printf("信息修改\n");break;
case 3:query();break;
case 4:printf("信息显示\n");break;
case 5:printf("信息统计\n");break;
case 6:printf("退出\n");break;
default:printf("enter data error!\n");
}}
while(i<6);
}
void entering()
{
int i;
scanf("%d,%s,%c,%d,%s,%s",&a[i].bh,a[i].name,&a[i].zl,&a[i].sl,a[i].time,a[i].add);
}
void query()
{
int i,bh;
scanf("%d",&bh);
printf("%d,%s,%c,%d,%s,%s",a[i].bh,a[i].name,a[i].zl,a[i].sl,a[i].time,a[i].add);
}

首先注意,a[2];你的数组长度只有2,只能输入2条:
void entering()
{
int i;
for (i = 0; i < 2; i++)
scanf("%d,%s,%c,%d,%s,%s",&a[i].bh,a[i].name,&a[i].zl,&a[i].sl,a[i].time,a[i].add);
}
void query()
{
int i,bh;
scanf("%d",&bh);
for (i = 0; i < 2; i++)
if (bh == a[i].bh)
printf("%d,%s,%c,%d,%s,%s",a[i].bh,a[i].name,a[i].zl,a[i].sl,a[i].time,a[i].add);
}

谢谢大佬,这搞了一晚上都没搞好,基础不好。