第一次操作,怎么搞,求告知

img

参考 https://blog.csdn.net/boquan/article/details/1644303

https://www.cnblogs.com/xuhuaiqu/p/4525326.html

参考一下:

#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) {
                         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),1,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;
}