求解做课程设计搜索职工信息总是出错,找不出错在哪里了。代码都是我自己打的绝非求作业的。
程序代码:
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(); } }这是搜索部分的代码,求大神点明错在哪里。