录入模块录入不了,求大神帮助,实训课,明天就要交了,万分感谢
源程序如下:#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct student
{
char number[15];
char name[10];
char sex[4];
char bkzy[20];
char clas[10];
}STUDENT;
//---------------------------界面-------------------------------
void mainmenu()
#define N 100
{
int i;
system("cls");
printf("\n");
printf("%60s\n","欢迎使用学生信息管理系统\n");
for(i=0;i<120;i++)
putchar('=');
printf("\n");
printf(" 1、录入学生信息 2、显示学生信息\n");
printf(" 3、查询学生信息 4、删除学生信息\n");
printf(" 0、退出\n");
printf(" \n");
for(i=0;i<120;i++)
putchar('=');
putchar('\n');
printf("%s","请输入需要执行的序号:");
}
void input(struct student *data,int *len);
void output(struct student *data,int len);
void find_xh(struct student *data,int len);
int sanchu(struct student *data,int len);
void main()
{
STUDENT data[N];
int len;
int choice;
mainmenu();
scanf("%d",&choice);
getchar();
while(1)
{
switch(choice)
{
case 1:input(data,&len);break;
case 2:output(data,len);break;
case 3:find_xh(data,len);break;
case 4:sanchu(data,len);break;
case 0:exit(0);break;
default:
if (choice!='\n')
printf("%s\n","\n输入错误!!");
getchar();
break;
}
if(choice!='\n') mainmenu();
scanf("%d",&choice);
getchar();
}
}
//---------------------------录入学生信息-------------------------------
void input(struct student *data,int *len)
{
char xh[15];
system("cls");
while(1)
{
printf("\n请输入学生信息,学号输入 -1 时表示结束输入\n");
printf("请输入学号:");
gets(xh);
if(strcmp(xh,"-1")!=0)
{
printf("请输入学生姓名:");
scanf("%s",&data[N].name);
printf("请输入学生性别:");
scanf("%s",&data[N].sex);
printf("请输入学生专业:");
scanf("%s",&data[N].bkzy);
printf("请输入学生班级:");
scanf("%s",&data[N].clas);
getchar();
}
else
break;
}
}
//---------------------------显示学生信息-------------------------------
void output(struct student *data,int len)
{
int i;
system("cls");
putchar('\n');
printf("%12s","学号");
printf("%8s","姓名");
printf("%4s","性别");
printf("%15s","专业");
printf("%10s","班级");
putchar('\n');
for(i=0;i<120;i++)
putchar('=');
for(i=0;i<len;i++)
{
printf("%12s",data[i].number);
printf("%8s",data[i].name);
printf("%4s",data[i].sex);
printf("%15s",data[i].bkzy);
printf("%10s",data[i].clas);
putchar('\n');
}
for(i=0;i<120;i++)
putchar('=');
putchar('\n');
printf("\n按回车返回\n");
getchar();
}
//---------------------------查询学生信息-------------------------------
void find_xh(struct student *data,int len)
{
char find_no[15];
int i,result;
while(1)
{
result=0;
system("cls");
printf("\n请输入查询的学号,退出当前操作请输入-1\n");
gets(find_no);
if(strcmp(find_no,"-1")==0) return;
printf("\n查询结果如下:\n");
for(i=0;i<120;i++)
putchar('=');
putchar('\n');
printf("%12s","学号");
printf("%8s","姓名");
printf("%4s","性别");
printf("%15s","专业");
printf("%10s","班级");
putchar('\n');
for(i=0;i<len;i++)
if(strcmp(data[i].name,find_no)==0)
{
printf("%12s",data[i].number);
printf("%8s",data[i].name);
printf("%4s",data[i].sex);
printf("%15s",data[i].bkzy);
printf("%10s",data[i].clas);
putchar('\n');
}
for(i=0;i<120;i++)
putchar('\n');
printf("\n按回车键继续");
getchar();
}
}
//-----------------------------删除学生信息----------------------------
int sanchu(struct student *data,int len)
{
char xh[15];
int i,n;
system("cls");
printf("请输入学号:");
scanf("%c",&xh);
for(n=0;n<100;n++)
{
if(data[i].number==xh)
{
for(i=n;i<100;i++)
{
strcpy(data[i].name,data[i+1].name);
strcpy(data[i].bkzy,data[i+1].bkzy);
printf("该学生信息已删除.\n");
return n;
}
printf("没有找到相关记录\n");
}}}
请大神们耐心帮我看一下,再次谢过!