求解做课程设计搜索职工信息总是出错,找不出错在哪里了。代码都是我自己打的绝非求作业的。
程序代码:void search()
{
int i,n;
char sea[5];
char point[10];
int x;
FILE *fp;
int index=0;
system("cls");
if((fp=fopen("staff.txt","rb"))==NULL)
{
printf("打开文件失败!\n");
}
while(!feof(fp))
{
fread(&staff[index],sizeof(struct Date),1,fp);
if(index >= 1000)
{
break;
}
index++;
}
if(fclose(fp)!=0)
{
printf("关闭文件失败!");
}
printf("请选择你要选择的搜索方式(name/numb):");
scanf("%s",sea);
if(strcmp(sea,"name")==0)
{
printf("请输入您要查询的职工姓名:");
scanf("%s",point);
for(i=0;i<(index-1);i++)
{
if(strcmp(staff[i].name,point)==0)
{
printf("职工编号 姓名 性别 职称 部门 身份证号 婚否 出生年月 学历 工资 住址 电话\n");/*运行到这里就会出错,提示中断程序*/
printf("%d %s %s %s %s %s %s %s %s %d %s %s\n",staff[i].num,staff[i].name,staff[i].sex,staff[i].title,
staff[i].department,staff[i].id,staff[i].marry,staff[i].birthday,staff[i].education,staff[i].wage,
staff[i].address,staff[i].tel);
printf("按任意键返回菜单\n");
getch();
menu;
}
}
printf("查无此人,请重新确认信息!\n");
}
else if(strcmp(sea,"numb")==0)
{
for(i=0;i,100;i++)
{
printf("请输入您要查询的职工信息:");
scanf("%d",&n);
if(staff[i].num==n)
{
printf("职工编号 姓名 性别 职称 部门 身份证号 婚否 出生年月 学历 工资 住址 电话\n");
printf("%d %s %c %s %s %s %c %s %s %d %s %s\n",staff[i].num,staff[i].name,staff[i].sex,staff[i].title,
staff[i].department,staff[i].id,staff[i].marry,staff[i].birthday,staff[i].education,staff[i].wage,
staff[i].address,staff[i].tel);
printf("按任意键返回菜单\n");
getch();
menu;
}
}
}
else
{
printf("您的输入有误,请重新输入。\n");
Sleep(1000);
search();
}
}这是搜索部分的代码,求大神点明错在哪里。






