1、menu(); int n,flag; char a; do printf(请选择你需要操作的步骤(1-7):n); scanf(%d,&n); if(n=1 & n=7) flag=1; break; else flag=0; printf(您输入有误,请重新选择! while(flag=0); while(flag=1) switch(n) case 1:printf( 输入职工信息ninput();break; case 2: 浏览职工信息ndisplay(); case 3: 按职工号查询职工信息nsearch(); case 4: 删除职工信息ndel(); case 5: 添加职工
2、信息nadd(); case 6: 修改职工信息nmodify(); case 7:exit(0); default : getchar();是否继续进行(y or n):%ca); if(a=y) flag=1; system(cls /*清屏*/ menu(); /*调用菜单函数*/请再次选择你需要操作的步骤(1-7): else exit(0);void menu() /*菜单函数*/ *欢迎进入职工信息管理系统*n 1.录入职工信息 2.浏览职工信息n 3.查询职工信息 4.删除职工信息n 5.添加职工信息 6.修改职工信息n 7.退出n *谢谢使用*nvoid input() /*录
3、入函数*/ int i,m;请输入需要创建信息的职工人数(1-100):m); for (i=0;im;i+) printf(请输入职工号: emi.num);请输入姓名:%s,emi.name);请输入性别(f-女 m-男):emi.sex);请输入年龄:emi.age);请输入学历:,emi.xueli);请输入工资:emi.wage);请输入住址:,emi.addr);请输入电话:,emi.tel);n创建完毕! save(m);void save(int m) /*保存文件函数*/int i; FILE*fp; if (fp=fopen(employee_list,wb)=NULL)
4、printf (cannot open fileni+) /*将内存中职工的信息输出到磁盘文件中去*/ if (fwrite(&emi,sizeof(struct employee),1,fp)!=1)file write errorn fclose(fp);int load() /*导入函数*/FILE*fp; int i=0; if(fp=fopen(rb do fread(&emi,sizeof(struct employee),1,fp); i+; while(feof(fp)=0); return(i-1);void display() /*浏览函数*/ int m=load();
5、职工号 姓名 性别 年龄 n for(i=0;i+) /*m为输入部分的职工人数*/n %-8d%-6s%-6c%-6dn,emi.num,emi.name,emi.sex,emi.age);n 学历 工资 住址 电话 nn %-6s%-6d%-6s%-6sn,emi.xueli,emi.wage,emi.addr,emi.tel);void del() /*删除函数*/int m=load(); int i,j,n,t,flag;n 原来的职工信息: display();请输入要删除的职工的姓名:,name); for(flag=1,i=0;flag& if(strcmp(emi.name,
6、name)=0)n已找到此人,原始记录为:n确实要删除此人信息请按1,不删除请按0n if(n=1) for(j=i;j=1&t8|c1) n选择错误,请重新选择! if(flag=1) switch(c) /*因为当找到第i个职工时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人*/职工号改为: emi-1.num=num;姓名改为: strcpy(emi-1.name,name);性别改为:sex); emi-1.sex=sex;年龄改为:age); emi-1.age=age;学历改为: strcpy(emi-1.xueli,xueli);工资改为:,wage);住址改为:,addr); strcpy(emi-1.addr,addr); case 8:电话改为: strcpy(emi-1.tel,tel); n是否确定所修改的信息?n 是 请按1 ; 不,重新修改 请按2: nb); while(b=2);n浏览修改后的所有职工信息:n继续修改请按1,不再修改请按0n
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1