简单的员工管理系统_第1页
简单的员工管理系统_第2页
简单的员工管理系统_第3页
简单的员工管理系统_第4页
简单的员工管理系统_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、简单的员工管理系统1、问题描述:对单位的职工进行管理,包括插入、删除、查找、排序等功能。2、要求:职工对象包括姓名(字符串)、性别(字符)、出生年月(数字)、工作年月(数字)、学历(字符串)、职务(字符串)、住址(字符串)、电话(字符串)等信息。(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。(2)删除一名职工:从职工管理文件中删除一名职工对象。(3)查询:从职工管理文件中查询符合某些条件的职工。(4)修改:检索某个职工对象,对其某些属性进行修改。(5)排序:按某种需要对职工对象文件进行排序。3、实现功能(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。(

2、2)对职工对象中的“姓名”按字典顺序进行排序。(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。4、代码:#include<stdlib.h>#include<stdio.h>#include<malloc.h>#include<string.h>typedefstructworkerintid;charname20;charsex3;intage;charedu50;intwages;charadr255;charphone13;WORKER,*PWORKER;/typedefstructWORKER*PWORKER;typedefs

3、tructlinkWORKERw;structlink*next;LINK,*PLINK;/typedefstructLINK*PLINK;/*创建职工信息链表*/PLINKcreate()PLINKp=(PLINK)malloc(sizeof(LINK);if(NULL!=p)p->next=NULL;returnp;printf("内存不足!n");returnNULL;/*显示程序界面文字*/voidmessage()精选范本,供参考!printf("tt*nn");printf("tt>>>>>>

4、;>>>>>>>>欢迎进入职工管理系统<<<<<<<<<<<<<<nn");printf("tt*ChooseFunction*nn");printf("tt*帮助请输入:0*nn");printf("tt*录入职工信息请输入:1*nn");printf("tt*浏览职工信息请输入:2*nn");printf("tt*查询职工信息请输入:3*nn");pr

5、intf("tt*删除职工信息请输入:4*nn");printf("tt*修改职工信息请输入:5*nn");printf("tt*清屏请输入:6*nn");printf("tt*退出请输入:-1*nn");printf("tt*nn");printf("tt* printf("tt* *nn");*nn");*voidfind_sr(PLINKplink,char*str)for(PLINKcurr=plink->next;curr!=NULL;cu

6、rr=curr->next)if(strcmp(curr->,str)=0)printf("职工工号:%dn",curr->w.id);printf("职工姓名:printf("职工性别:printf("职工年龄:printf("职工学历:printf("职工工资:printf("职工住址:printf("职工电话:%sn",curr->);%sn",curr->w.sex);%dn",curr->w.age);%sn

7、",curr->);%dn",curr->w.wages);%sn",curr->w.adr);%sn",curr->w.phone);voidfindid(PLINKplink,intid)for(PLINKcurr=plink->next;curr!=NULL;curr=curr->next)if(curr->w.id=id)printf("职工工号:%dn",curr->w.id);printf("职工姓名:printf("职工性别:printf(&q

8、uot;职工年龄:printf("职工学历:printf("职工工资:printf("职工住址:printf("职工电话:%sn",curr->);%sn",curr->w.sex);%dn",curr->w.age);%sn",curr->);%dn",curr->w.wages);%sn",curr->w.adr);%sn",curr->w.phone);voidshow(PLINKplink)for(PLINKcur

9、r=plink->next;curr!=NULL;curr=curr->next)printf("职工工号:%dn",curr->w.id);printf("职工姓名:%sn",curr->);%sn",curr->w.sex);%dn",curr->w.age);%sn",curr->);%dn",curr->w.wages);%sn",curr->w.adr);%sn",curr->w.phone);print

10、f("职工性别:printf("职工年龄:printf("职工学历:printf("职工工资:printf("职工住址:printf("职工电话:/*录入职工信息*/intadd(PLINKp)PLINKh=NULL;PLINKq=(PLINK)malloc(sizeof(LINK);if(NULL=q)printf("录入失败提示:内存不足!n");return-1;printf("请输入职工号(数字):");scanf("%d",&q->w.id);h=p-

11、>next;while(h)if(h->w.id=q->w.id)free(q);!n");printf("录入失败提示:此职工号已经存在return-1;h=h->next;printf("请输入职工姓名(文字):");scanf("%s",&q->);printf("请输入职工性别(文字):");scanf("%s",&q->w.sex);printf("请输入职工年龄(数字):");scanf("

12、%d",&q->w.age);printf("请输入职工学历(文字):");scanf("%s",&q->);printf("请输入职工工资(数字):");scanf("%d",&q->w.wages);printf("请输入职工住址(文字):");scanf("%s",&q->w.adr);printf("请输入职工电话(数字):");scanf("%s",&

13、amp;q->w.phone);q->next=p->next;p->next=q;printf(".A_A.录入成功!.A_A.n");return-1;/*按姓名查询*/PLINKfindname(PLINKp,char*name)message();printf("按姓名查询n");printf("职工号t姓名t性别t年龄t学历t工资t住址t电话n");while(NULL!=p->next)if(0=strcmp(p->next->,name)printf("%d

14、t%st%st%dt%st%dt%st%sn",p->next->w.id,p->next->,p->next->w.sex,p->next->w.adr,p->next->,p->next->w.wages,p->next->w.adr,p->next->w.phone);returnp;p=p->next;printf(",_A.查询结束!.A_A.n");returnNULL;/*按职工号删除职工信息*/intdel(PLINKp,in

15、tid)message();printf("按职工号删除职工信息n");while(NULL!=p->next)if(p->next->w.id=id)PLINKq=p->next;p->next=p->next->next;free(q);printf(".A_A.删除成功!.A_A.n");return1;p=p->next;printf("没有你输入的职工号!n");return-1;/*程序结束释放内存*/voidrelease(PLINKp)PLINKq;while(NULL!

16、=p->next)q=p;p=p->next;free(q);free(p);/*查询调用*/voidsearch()intid;charname20;charstr20;PLINKpworker;intl;printf("tttt*姓名查找按:1*n");printf("tttt*学历查找按:2*n");printf("tttt*职工号查按:3*n");scanf("%d",&l);if(l>0&&l<4)switch(l)case1:printf("请输

17、入要查询的职工姓名:");scanf("%s",name);findname(pworker,name);break;case2:printf("请输入要查询的职工学历:");scanf("%s",str);find_sr(pworker,str);break;case3:printf("请输入要查询的职工号:");scanf("%d",&id);findid(pworker,id);break;printf("nn选择完毕!");elseprintf(&q

18、uot;tttt输入有误!");/*修改职工信息*/intmodify(PLINKp)intid;PLINKq;PLINKh=NULL;printf("请输入职工号(数字):");scanf("%d",&id);h=p->next;while(h)if(h->w.id=id)break;h=h->next;if(h=NULL)n");printf("找不到此职工,请重试return-1;printf("请输入职工姓名(文字):");scanf("%s",&am

19、p;h->);printf("请输入职工性别(文字):");scanf("%s",&h->w.sex);printf("请输入职工年龄(数字):");scanf("%d",&h->w.age);printf("请输入职工学历(文字):");scanf("%s",&h->);printf("请输入职工工资(数字):");scanf("%d",&h->w.w

20、ages);printf("请输入职工住址(文字):");scanf("%s",&h->w.adr);printf("请输入职工电话(数字):");scanf("%s",&h->w.phone);q->next=p->next;p->next=q;printf("A_A.修改成功!.A_An");return-1;intmain()intcmd=0;intid;charname20;charstr20;PLINKpworker;if(!(pworke

21、r=create()exit(0);while(cmd!=-1)switch(cmd)case0:message();break;case 1: add(pworker);break;case 2: show(pworker);break;case 3: search();break;case 4: printf("请输入要删除的职工号:");scanf("%d",&id);del(pworker,id);break;case 5: modify(pworker);break;case 6: message();break;printf("请输入操作命令数字:n");scanf("%d",&cmd);printf("tt>>>>>>>>>>>>>>>>>>>>谢谢使用<<<<<<<<<<<<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论