该【职工信息管理系统(c语言版) 】是由【学锋】上传分享,文档一共【11】页,该文档可以免费在线阅读,需要了解更多关于【职工信息管理系统(c语言版) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..#include<>#include<>#include<>#include<>#defineLENsizeof(structemployee)typedefstructemployee{charname[20];longnum;charsex[5];intage;charaddr[30];intwage;charhealth[20];charedu[20];structemployee*next;}EMP;voidinput();//输入职工信息EMP*open();//将文件中的职工信息载入链表voidnumfind(EMP*);//查找职工信息,按职工号查找voidnamefind(EMP*);//查找职工信息,按职工姓名查找voidmodify(EMP*);//修改职工信息voiddelet(EMP*);//删除职工信息voidnumsort(EMP*);//按工号给职工信息排序voidwagesort(EMP*);//按工资给职工信息排序voidprint(EMP*);//输出职工信息voidrenew(EMP*);//更新文件信息intn;//职工的个数voidmain(){EMP*fhead;intchoice,flag=1;chars;while(flag){欢迎使用职工信息管理系统>>>:..();switch(choice){case0:exit(0);case1:input();break;case2:按工号查找按姓名查找请选择getchar();fhead=open();if(s=='a')numfind(fhead);elseif(s=='b')namefind(fhead);else输入错误break;case3:fhead=open();modify(fhead);break;case4:fhead=open();delet(fhead);break;case5:按工号排序按工资排序请选择getchar();fhead=open();if(s=='a')numsort(fhead);elseif(s=='b')wagesort(fhead);else输入错误break;:..case6:fhead=open();print(fhead);break;输入错误}按任意键返回主菜单getchar();}}voidinput()//录入信息{intflag=1;chars;FILE*fp;EMP*p,*p1,*p2,*head;head=p1=p2=(EMP*)malloc(LEN);while(flag==1){姓名工号getchar();性别年龄地址月薪健康状况教育程度getchar();是否继续录入getchar();if(s=='y'){p2=p1;p1=(EMP*)malloc(LEN);:..p2->next=p1;}elseflag=0;}p1->next=NULL;p=head;{无法打开文件exit(0);}while(p!=NULL){if(fwrite(p,LEN,1,fp)!=1)无法保存p=p->next;}fclose(fp);录入成功}EMP*open(void){n=0;EMP*fhead,*p1,*p2;FILE*fp;fhead=NULL;p1=p2=(EMP*)malloc(LEN);{fread(p1,LEN,1,fp);while(!feof(fp)){n=n+1;if(n==1)fhead=p1;elsep2->next=p1;p2=p1;p1=(EMP*)malloc(LEN);fread(p1,LEN,1,fp);}:..p2->next=NULL;}elsefclose(fp);return(fhead);}voidnamefind(EMP*head){inta=0;charfindname[20];EMP*p;p=head;请输入姓名gets(findname);while(p!=NULL){if(strcmp(findname,p->name)==0){a=a+1;if(a==1)姓名工号性别年龄地址月薪健康状况教育程度ddr,p->wage,p->health,p->edu);}p=p->next;}if(a==0)没有姓名为%s的职工}voidnumfind(EMP*head){intfindnum,a=0;EMP*p;p=head;请输入职工号getchar();while(p!=NULL){:..if(findnum==p->num){a=a+1;姓名工号性别年龄地址月薪健康状况教育程度ddr,p->wage,p->health,p->edu);}p=p->next;}if(a==0)没有工号为%ld的职工}voidmodify(EMP*head){EMP*p;inta=0;charfindname[20];p=head;请输入姓名gets(findname);while(p!=NULL){if(strcmp(findname,p->name)==0){a=a+1;姓名工号性别年龄地址月薪健康状况教育程度ddr,p->wage,p->health,p->edu);请修改姓名工号getchar();性别年龄:..地址月薪健康状况教育程度getchar();修改成功}p=p->next;}if(a==0)没有姓名为%s的职工elserenew(head);}voiddelet(EMP*head){inta=0;charc,findname[20];EMP*p1,*p2;p1=p2=head;请输入姓名getchar();//清空缓冲区while(p1!=NULL){if(strcmp(findname,p1->name)==0){a=a+1;姓名工号性别年龄地址月薪健康状况教育程度,p1->addr,p1->wage,p1->health,p1->edu);确定删除该职工信息c=getchar();getchar();//清空缓冲区if(c=='y'){:..if(p1==head)p1=p2=head=p1->next;else{p2->next=p1->next;free(p1);p1=p2;}删除成功}}p2=p1;if(p1!=NULL)p1=p1->next;else;}if(a==0)没有姓名为%s的职工elserenew(head);}voidrenew(EMP*head){FILE*fp;structemployee*p;p=head;{无法打开文件exit(0);}while(p!=NULL){if(fwrite(p,LEN,1,fp)!=1)无法保存p=p->next;}fclose(fp);}voidprint(EMP*head):..{EMP*p;p=head;if(p==NULL)无任何信息else{姓名工号性别年龄地址月薪健康状况教育程度while(p!=NULL){>addr,p->wage,p->health,p->edu);p=p->next;}}}voidnumsort(EMP*head)//按工号排序{inti;EMP*p1,*p2,*p3,*end=NULL;p1=p2=p3=head;if(head!=NULL&&head->next!=NULL)for(i=1;i<n;i++){p1=p1->next;while(p1!=end)if(p1->num<p2->num){p2->next=p1->next;p1->next=p2;if(p2==p3)head=p1;elsep3->next=p1;p3=p1;p1=p2->next;}else{p3=p2;:..p2=p1;p1=p1->next;}end=p2;p1=p2=p3=head;}renew(head);}voidwagesort(EMP*head)//{inti;EMP*p1,*p2,*p3,*end=NULL;p1=p2=p3=head;if(head!=NULL&&head->next!=NULL)for(i=1;i<n;i++){p1=p1->next;while(p1!=end)if(p1->wage<p2->wage){p2->next=p1->next;p1->next=p2;if(p2==p3)head=p1;elsep3->next=p1;p3=p1;p1=p2->next;}else{p3=p2;p2=p1;p1=p1->next;}end=p2;p1=p2=p3=head;}renew(head);}
职工信息管理系统(c语言版) 来自淘豆网m.daumloan.com转载请标明出处.