查询结果输不出来(急)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 300
struct date
{ char year[6]; 
char month[4]; 
char day[4];};
struct st
{ char num[13];
 char name[15]; 
int age;
 char work[20]; 
char sex[6]; 
char add[30]; 
char phone[10];
 struct date hiredate; };
void lr()
{ FILE *p; 
struct st s1; 
char ans='y'; p=fopen("staff.dat","a"); if(p==NULL) 
{ printf("file open
error!\n");
 exit(-1); } while(ans=='y'||ans=='Y') { printf("请输入工号:"); scanf("%s",s1.num); printf("请输入姓名:"); scanf("%s",s1.name); printf("请输入年龄:"); scanf("%d",&s1.age); printf("请输入工作:"); scanf("%s",s1.work); printf("请输入性别:"); scanf("%s",s1.sex); printf("请输入地址:"); scanf("%s",s1.add); printf("请输入电话:"); scanf("%s",s1.phone); printf("请输入入职时间(年月日):"); scanf("%s%s%s",s1.hiredate.year,s1.hiredate.month,s1.hiredate.day); fwrite(&s1,sizeof(struct st),1,p); getchar(); printf("继续输入吗?(y/n)"); scanf("%c",&ans); } fclose(p);}void cx(){ FILE *p; struct st s[N]; char num[13]; char name[15]; char phone[10]; int i,w,c,n=0,m=1; if(m>0) { do{ printf("\n"); printf("************************\n"); 
printf("******按1 工号查询******\n"); printf("******按2 姓名查询******\n"); printf("******按3 电话查询******\n"); printf("******按0 退出系统******\n"); printf("************************\n"); printf("请输入你的选择:\n"); scanf("%d",&c); switch(c) { case 1: p=fopen("staff.dat","rb"); if(p==NULL) { printf("file open error.\n"); exit(-1); } while(fread(&s[n],sizeof(struct st),n,p)==1) { n++; } fclose(p); printf("请输入工号:"); scanf("%s",num); printf("\n"); for(i=0;i<n;i++) { if(strcmp(num,s[i].num)==0) break; if(i>=n) { printf("不存在该工号!\n"); }
 else 
{ printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone); } } 
p=fopen("staff.dat","w"); fwrite(s,sizeof(struct st),n,p); 
fclose(p); 
system("pause"); break; 
case 2: p=fopen("staff.dat","rb"); if(p==NULL) 
{ printf("file open error.\n"); exit(-1); } while(fread(&s[n],sizeof(struct st),n,p)==1) 
{ n++; } 
fclose(p); 
printf("请输入姓名:"); scanf("%s",name); printf("\n"); for(i=0;i<n;i++) { if(i>=n) { printf("不存在该姓名!\n"); } else { printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone); } } 
p=fopen("staff.dat","w"); fwrite(s,sizeof(struct st),n,p); 
fclose(p); system("pause"); break;
 case 3: p=fopen("staff.dat","rb"); if(p==NULL)
 { printf("file open error.\n"); exit(-1); } while(fread(&s[n],sizeof(struct st),n,p)==1) 
{ n++; } 
fclose(p); 
printf("请输入电话:"); scanf("%s",phone); printf("\n"); for(i=0;i<n;i++) { if(i>=n) { printf("不存在该电话!\n"); } else { printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone); } }
 p=fopen("staff.dat","w"); fwrite(s,sizeof(struct st),n,p); 
fclose(p); 
system("pause"); break; } } while(c!=0); 
}
}
int main()
{ int choice; 
printf("\n"); 
while(1) { printf("*************************************************************\n"); 
printf("**------------------欢迎进入企业员工管理系统---------------**\n"); 
printf("**--------------------按1,录入员工信息--------------------**\n"); 
printf("**--------------------按2,更新员工信息--------------------**\n");
 printf("**--------------------按3,查询员工信息--------------------**\n");
 printf("**--------------------按4,排列员工信息--------------------**\n");
 printf("**--------------------按5,统计员工信息--------------------**\n");
 printf("**--------------------按6,输出员工信息--------------------**\n"); 
printf("**--------------------按0,退出系统------------------------**\n"); printf("**----------------------------------制作者:3组--**\n"); printf("*************************************************************\n");
 printf("请输入你的选项:"); scanf("%d",&choice); switch(choice) { case 0:
printf("运行结束,谢谢使用!\n");
system("pause");
return 0; 
case 1:lr();break; /*case 2:gx();break;*/ case 3:cx();break; /*case 4:pl();break; case 5:tj();break; case 6:sc();break;*/ default:printf("输入错误,请重新选择!\n"); } 
} system("pause"); 
return 0;}

#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 300struct date{ char year[6]; char month[4]; char day[4];};struct st{ char num[13]; char name[15]; int age; char work[20]; char sex[6]; char add[30]; char phone[10]; struct date hiredate; };void lr(){ FILE *p; struct st s1; char ans='y'; p=fopen("staff.dat","a"); if(p==NULL) { printf("file open error!\n"); exit(-1); } while(ans=='y'||ans=='Y') { printf("请输入工号:"); scanf("%s",s1.num); printf("请输入姓名:"); scanf("%s",s1.name); printf("请输入年龄:"); scanf("%d",&s1.age); printf("请输入工作:"); scanf("%s",s1.work); printf("请输入性别:"); scanf("%s",s1.sex); printf("请输入地址:"); scanf("%s",s1.add); printf("请输入电话:"); scanf("%s",s1.phone); printf("请输入入职时间(年月日):"); scanf("%s%s%s",s1.hiredate.year,s1.hiredate.month,s1.hiredate.day); fwrite(&s1,sizeof(struct st),1,p); getchar(); printf("继续输入吗?(y/n)"); scanf("%c",&ans); } fclose(p);}void cx(){ FILE *p; struct st s[N]; char num[13]; char name[15]; char phone[10]; int i,w,c,n=0,m=1; if(m>0) { do{ printf("\n"); printf("************************\n"); printf("******按1 工号查询******\n"); printf("******按2 姓名查询******\n"); printf("******按3 电话查询******\n"); printf("******按0 退出系统******\n"); printf("************************\n"); printf("请输入你的选择:\n"); scanf("%d",&c); switch(c) { case 1: p=fopen("staff.dat","rb"); if(p==NULL) { printf("file open error.\n"); exit(-1); } while(fread(&s[n],sizeof(struct st),n,p)==1) { n++; } fclose(p); printf("请输入工号:"); scanf("%s",num); printf("\n"); for(i=0;i<n;i++) { if(strcmp(num,s[i].num)==0) break; if(i>=n) { printf("不存在该工号!\n"); } else { printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone); } } p=fopen("staff.dat","w"); fwrite(s,sizeof(struct st),n,p); fclose(p); system("pause"); break; case 2: p=fopen("staff.dat","rb"); if(p==NULL) { printf("file open error.\n"); exit(-1); } while(fread(&s[n],sizeof(struct st),n,p)==1) { n++; } fclose(p); printf("请输入姓名:"); scanf("%s",name); printf("\n"); for(i=0;i<n;i++) { if(i>=n) { printf("不存在该姓名!\n"); } else { printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone); } } p=fopen("staff.dat","w"); fwrite(s,sizeof(struct st),n,p); fclose(p); system("pause"); break; case 3: p=fopen("staff.dat","rb"); if(p==NULL) { printf("file open error.\n"); exit(-1); } while(fread(&s[n],sizeof(struct st),n,p)==1) { n++; } fclose(p); printf("请输入电话:"); scanf("%s",phone); printf("\n"); for(i=0;i<n;i++) { if(i>=n) { printf("不存在该电话!\n"); } else { printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone); } } p=fopen("staff.dat","w"); fwrite(s,sizeof(struct st),n,p); fclose(p); system("pause"); break; } } while(c!=0); }}int main(){ int choice; printf("\n"); while(1) { printf("*************************************************************\n"); printf("**------------------欢迎进入企业员工管理系统---------------**\n"); printf("**--------------------按1,录入员工信息--------------------**\n"); printf("**--------------------按2,更新员工信息--------------------**\n"); printf("**--------------------按3,查询员工信息--------------------**\n"); printf("**--------------------按4,排列员工信息--------------------**\n"); printf("**--------------------按5,统计员工信息--------------------**\n"); printf("**--------------------按6,输出员工信息--------------------**\n"); printf("**--------------------按0,退出系统------------------------**\n"); printf("**----------------------------------制作者:3组--**\n"); printf("*************************************************************\n"); printf("请输入你的选项:"); scanf("%d",&choice); switch(choice) { case 0:printf("运行结束,谢谢使用!\n");system("pause");return 0; case 1:lr();break; /*case 2:gx();break;*/ case 3:cx();break; /*case 4:pl();break; case 5:tj();break; case 6:sc();break;*/ default:printf("输入错误,请重新选择!\n"); } } system("pause"); return 0;}

修改如下,供参考:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 300
struct date
{
    char year[6];
    char month[4];
    char day[4];
};
struct st
{
    char num[13];
    char name[15];
     int age;
    char work[20];
    char sex[6];
    char add[30];
    char phone[10];
    struct date hiredate;
};
void lr()
{
    FILE *p;
    struct st s1;
    char ans='y';
    p=fopen("staff.dat","a");
    if(p==NULL)
    {
       printf("file openerror!\n");
       exit(-1);
    }
    while(ans=='y'||ans=='Y') {
          printf("请输入工号:");
          fflush(stdout);rewind(stdin);
          scanf("%s",s1.num);
          printf("请输入姓名:");
          fflush(stdout);rewind(stdin);
          scanf("%s",s1.name);
          printf("请输入年龄:");
          fflush(stdout);rewind(stdin);
          scanf("%d",&s1.age);
          printf("请输入工作:");
          fflush(stdout);rewind(stdin);
          scanf("%s",s1.work);
          printf("请输入性别:");
          fflush(stdout);rewind(stdin);
          scanf("%s",s1.sex);
          printf("请输入地址:");
          fflush(stdout);rewind(stdin);
          scanf("%s",s1.add);
          printf("请输入电话:");
          fflush(stdout);rewind(stdin);
          scanf("%s",s1.phone);
          printf("请输入入职时间(年月日):");
          fflush(stdout);rewind(stdin);
          scanf("%s%s%s",s1.hiredate.year,s1.hiredate.month,s1.hiredate.day);
          fwrite(&s1,sizeof(struct st),1,p);
                                                      //getchar();
          printf("继续输入吗?(y/n)");
          fflush(stdout);rewind(stdin);
          scanf("%c",&ans);
    }
    fclose(p);
}

void cx()
{
    FILE *p;
    struct st s[N];
    char num[13];
    char name[15];
    char phone[10];
    int i,w,c,n=0,m=1;
    
    p=fopen("staff.dat","rb");
    if(p==NULL) {
       printf("file open error.\n");
       exit(-1);
    }
    while(fread(&s[n],sizeof(struct st),1,p)==1)n++;
    fclose(p);
    //if(m>0) {
       do{
          printf("\n");
          printf("************************\n");
          printf("******按1 工号查询******\n");
          printf("******按2 姓名查询******\n");
          printf("******按3 电话查询******\n");
          printf("******按0 退出系统******\n");
          printf("************************\n");
          printf("请输入你的选择:\n");
          fflush(stdout);rewind(stdin);
          scanf("%d",&c);
          switch(c) {
                     case 1:

                            printf("请输入工号:");
                            fflush(stdout);rewind(stdin);
                            scanf("%s",num);
                            for(i=0;i<n;i++) {
                                if(strcmp(num,s[i].num)==0) break;
                            }
                            if(i>=n) {
                                printf("不存在该工号!\n");
                            }else{
                                printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone);
                            }
                            //p=fopen("staff.dat","w");
                            //fwrite(s,sizeof(struct st),n,p);
                            //fclose(p);
                            system("pause");
                            break;
                     case 2:
                            printf("请输入姓名:");
                            fflush(stdout);rewind(stdin);
                            scanf("%s",name);
                            for(i=0;i<n;i++) {
                                if(strcmp(name,s[i].name)==0) break;
                            }
                            if(i>=n){
                                printf("不存在该姓名!\n"); }
                            else {
                                printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone);
                            }
                            //p=fopen("staff.dat","w");
                            //fwrite(s,sizeof(struct st),n,p);
                            //fclose(p);
                            system("pause");
                            break;
                     case 3:
                            printf("请输入电话:");
                            scanf("%s",phone);
                            for(i=0;i<n;i++) {
                                if(strcmp(phone,s[i].phone)==0) break;
                            }
                            if(i>=n) {
                                printf("不存在该电话!\n");
                            }else {
                                printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone);
                            }
                            //p=fopen("staff.dat","w");
                            //fwrite(s,sizeof(struct st),n,p);
                            //fclose(p);
                            system("pause");
                            break;
          }
       }while(c!=0);
    //}
}

int main()
{
   int choice;
   printf("\n");
   while(1) {
        printf("*************************************************************\n");
        printf("**------------------欢迎进入企业员工管理系统---------------**\n");
        printf("**--------------------按1,录入员工信息--------------------**\n");
        printf("**--------------------按2,更新员工信息--------------------**\n");
        printf("**--------------------按3,查询员工信息--------------------**\n");
        printf("**--------------------按4,排列员工信息--------------------**\n");
        printf("**--------------------按5,统计员工信息--------------------**\n");
        printf("**--------------------按6,输出员工信息--------------------**\n");
        printf("**--------------------按0,退出系统------------------------**\n");
        printf("**---------------------制作者:3组-------------------------**\n");
        printf("*************************************************************\n");
        printf("请输入你的选项:");
        scanf("%d",&choice);
        switch(choice)
                    {
                      case 0:
                            printf("运行结束,谢谢使用!\n");
                            system("pause");
                            return 0;
                      case 1:
                            lr();
                            break;
                    /*case 2:gx();
                           break;*/
                      case 3:
                            cx();
                            break;
                    /*case4:
                           pl();
                           break;
                    case 5:
                          tj();
                          break;
                    case 6:
                          sc();
                          break;*/
                   default:
                          printf("输入错误,请重新选择!\n");
                          break;
        }
   }
   system("pause");
   return 0;
}

 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 300
struct date
{ 
	char year[6]; 
	char month[4]; 
	char day[4];
};
struct st
{ 
	char num[13];
 	char name[15]; 
	int age;
 	char work[20]; 
	char sex[6]; 
	char add[30]; 
	char phone[10];
 	struct date hiredate; 
};
void lr()
{ 
	FILE *p; 
	struct st s1; 
	char ans='y'; 
	p=fopen("d:\\staff.dat","a"); 
	if(p==NULL) { 
		printf("file open error!\n");
 		exit(-1); 
	} 
	while(ans=='y'||ans=='Y') { 
		printf("请输入工号:"); 
		scanf("%s",s1.num); 
		printf("请输入姓名:"); 
		scanf("%s",s1.name); 
		printf("请输入年龄:"); 
		scanf("%d",&s1.age); 
		printf("请输入工作:"); 
		scanf("%s",s1.work); printf("请输入性别:"); 
		scanf("%s",s1.sex); 
		printf("请输入地址:"); 
		scanf("%s",s1.add); 
		printf("请输入电话:"); 
		scanf("%s",s1.phone); 
		printf("请输入入职时间(年月日):"); 
		scanf("%s%s%s",s1.hiredate.year,s1.hiredate.month,s1.hiredate.day); 
		fwrite(&s1,sizeof(struct st),1,p); 
		getchar(); 
		printf("继续输入吗?(y/n)"); 
		scanf("%c",&ans); 
	} 
	fclose(p);
}
void cx(){ 
	FILE *p; 
	struct st s[N]; 
	char num[13]; 
	char name[15]; 
	char phone[10]; 
	int i,w,c,n=0,m=1; 
	if(m>0) { 
		do{ 
			printf("\n"); 
			printf("************************\n"); 
			printf("******按1 工号查询******\n"); 
			printf("******按2 姓名查询******\n"); 
			printf("******按3 电话查询******\n"); 
			printf("******按0 退出系统******\n"); 
			printf("************************\n"); 
			printf("请输入你的选择:\n"); 
			scanf("%d",&c); 
			switch(c) { 
				case 1: 
					p=fopen("d:\\staff.dat","rb"); 
					if(p==NULL) { 
						printf("file open error.\n"); 
						exit(-1); 
					} 
					while(fread(&s[n],sizeof(struct st),1,p)==1) {
						printf("%-15s%-20s%-4s\n",s[n].num,s[n].name,s[n].phone); 
						 n++; 
					} 
					fclose(p); 
					
					printf("请输入工号:"); 
					scanf("%s",num); 
					printf("\n"); 
					for(i=0;i<n;i++) { 
						if(strcmp(num,s[i].num)==0){
							printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone); 
							break; 
						}
						if(i>=n) { 
							printf("不存在该工号!\n"); 
						}
					}
					system("pause"); 
					break; 
				case 2: 
					p=fopen("d:\\staff.dat","rb"); 
					if(p==NULL){ 
						printf("file open error.\n"); 
						exit(-1); 
					} 
					while(fread(&s[n],sizeof(struct st),n,p)==1) { 
						n++; 
					} 
					fclose(p); 
					printf("请输入姓名:"); 
					scanf("%s",name); 
					printf("\n"); 
					for(i=0;i<n;i++) { 
						if(i>=n) { 
							printf("不存在该姓名!\n"); 
						} else { 
							printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone); 
						} 
					} 
					p=fopen("d:\\staff.dat","w"); 
					fwrite(s,sizeof(struct st),n,p); 
					fclose(p); 
					system("pause"); 
					break;
 				case 3: 
 					p=fopen("d:\\staff.dat","rb"); 
 					if(p==NULL){ 
 						printf("file open error.\n"); 
 						exit(-1); 
 					} 
 					while(fread(&s[n],sizeof(struct st),n,p)==1) { 
 						n++; 
 					} 
					fclose(p); 
					printf("请输入电话:"); 
					scanf("%s",phone); 
					printf("\n"); 
					for(i=0;i<n;i++) { 
						if(i>=n) { 
							printf("不存在该电话!\n"); 
						} else { 
							printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone); 
						} 
					}
 					p=fopen("d:\\staff.dat","w"); 
 					fwrite(s,sizeof(struct st),n,p); 
					fclose(p); 
					system("pause"); 
					break; 
			} 
		} 
		while(c!=0); 
	}
}
int main()
{ 
	int choice; 
	printf("\n"); 
	while(1) { 
	printf("*************************************************************\n"); 
	printf("**------------------欢迎进入企业员工管理系统---------------**\n"); 
	printf("**--------------------按1,录入员工信息--------------------**\n"); 
	printf("**--------------------按2,更新员工信息--------------------**\n");
	printf("**--------------------按3,查询员工信息--------------------**\n");
	printf("**--------------------按4,排列员工信息--------------------**\n");
	printf("**--------------------按5,统计员工信息--------------------**\n");
	printf("**--------------------按6,输出员工信息--------------------**\n"); 
	printf("**--------------------按0,退出系统------------------------**\n"); 
	printf("**----------------------------------制作者:3组--**\n"); 
	printf("*************************************************************\n");
	printf("请输入你的选项:"); 
	scanf("%d",&choice); 
	switch(choice) { 
		case 0:
			printf("运行结束,谢谢使用!\n");
			system("pause");
			return 0; 
		case 1:
			lr();
			break; 
		case 3:
			cx();break; 
			
		default:
			printf("输入错误,请重新选择!\n"); 
		} 
	} 
	system("pause"); 
	return 0;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632