ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:20.01KB ,
资源ID:7123847      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7123847.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用c语言编写企业人事管理信息系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用c语言编写企业人事管理信息系统.docx

1、用c语言编写企业人事管理信息系统企业人事管理信息系统(两种方法)方法一#include stdio.h#include stdlib.h#include string.hstruct dateint year,month,day;typedef struct manrecordint id;char name20;char sex10;char dept20;struct date worktime;struct manrecord *next;Elemtype;Elemtype *init()Elemtype *h;h=(Elemtype *)malloc(sizeof(Elemtype);

2、if (h=NULL)printf(内存空间不足!n);return NULL;elseh-next=NULL;return h;void term( Elemtype *h)Elemtype *p,*q;p=h;while (p!=NULL)q=p;p=p-next;free(q);Elemtype * isidExist(Elemtype *h,int id)Elemtype *p;p=h-next;while (p!=NULL)if (p-id=id)return p;elsep=p-next;return NULL;void inputStaff(Elemtype *h)Elemtyp

3、e *p;int id;while (1)printf(输入员工编号(小于等于0,则结束输入):);scanf(%d,&id);if (idid=id;printf(输入姓名:n);scanf(%s,p-name);printf(输入性别:n);scanf(%s,p-sex);printf(输入部门:n);scanf(%s,p-dept);printf(输入员工工作时间:(yyyy-mm-dd):n);scanf(%d-%d-%d,&p-worktime.year,&p-worktime.month,&p-worktime.day);p-next=NULL;h-next=p;h=p;void

4、outputHead()printf(编号t姓名t性别t部门t工作时间n);void outputOneStaff(Elemtype *p)printf(%dt%st%st%st,p-id,p-name,p-sex,p-dept);printf(%d-%d-%d,p-worktime.year,p-worktime.month,p-worktime.day);printf(n);void outputStaff(Elemtype *h)Elemtype *p;if (h-next=NULL)printf(链表为空!n);return;outputHead();p=h-next;while (p

5、!=NULL)outputOneStaff(p);p=p-next;printf(数据输出结束!n);void saveStaff(Elemtype *h)FILE *fp;Elemtype *p;if (h-next=NULL)printf(无数据!n);return;fp=fopen(d:企业人事管理信息系统staff.txt,w);if (fp=NULL)printf(文件打开失败!n);return;p=h-next;while (p!=NULL)fprintf(fp,n);fprintf(fp,%dt%st%st%st,p-id,p-name,p-sex,p-dept);fprint

6、f(fp,%d-%d-%d,p-worktime.year,p-worktime.month,p-worktime.day);p=p-next;fclose(fp);printf(已成功存盘!n);void readStaff(Elemtype *h)int n;FILE *fp;Elemtype *p;fp=fopen(d:企业人事管理信息系统staff.txt,r);if (fp=NULL)printf(文件打开失败!n);return;n=0;while (!feof(fp)p=(Elemtype *)malloc(sizeof(Elemtype);if (p=NULL)printf(内

7、存空间不足。n);break;fscanf(fp,%dt%st%st%st,&p-id,p-name,p-sex,p-dept);fscanf(fp,%d-%d-%d,&p-worktime.year,&p-worktime.month,&p-worktime.day);n+;p-next=NULL;h-next=p;h=p;fclose(fp);printf(已从文件成功读取%d条记录!n,n);void insertOneStaff(Elemtype *h)Elemtype *p;p=(Elemtype *)malloc(sizeof(Elemtype);if (p=NULL)printf

8、(内存空间不足.n);return;printf(请输入要插入的员工信息。n);do printf(输入员工编号:n);scanf(%d,&p-id);if (p-ididname);printf(输入性别:n);scanf(%s,p-sex);printf(输入部门:n);scanf(%s,p-dept);printf(输入员工工作时间:(yyyy-mm-dd):n);scanf(%d-%d-%d,&p-worktime.year,&p-worktime.month,&p-worktime.day);p-next=h-next;h-next=p;printf(已成功插入一个员工记录。n);v

9、oid deleteOneStaff(Elemtype *h)Elemtype *p;if (h-next=NULL)printf(链表为空!n);return;p=h-next;h-next=p-next;printf(编号为(%d)的员工记录已从链表中删除。n,p-id);free(p);void straightInsertSortById(Elemtype *h)Elemtype *t,*s,*u,*v;if (h-next=NULL)printf(链表中无数据!n);return;s=h-next-next;h-next-next=NULL;while (s !=NULL)t=s;s

10、=s-next;u=h;v=h-next;while (v!=NULL& v-idid)u=v;v=v-next;u-next=t;t-next=v;printf(已按照员工的编号进行排序。排序后的结果为:n);outputStaff(h);void searchById(Elemtype *h,int id)Elemtype *p;p=isidExist(h,id);if (p=NULL)printf(查找失败!编号为%d的员工不存在!n,id);elseprintf(查找成功!查找结果如下:n);outputHead();outputOneStaff(p);void searchByNam

11、e(Elemtype *h,char name)int flag=0;Elemtype *p;p=h-next;while (p!=NULL)if (strcmp(p-name,name)=0)if (flag=0)flag=1;printf(查找成功!查找结果如下:n);outputHead();outputOneStaff(p);p=p-next;if (flag=0)printf(查找失败!姓名为%s的员工不存在.n,name);void searchStaff(Elemtype *h)int id;char name20;int subMenuItem=1;while (subMenu

12、Item!=0)printf(nn);printf(*查找子菜单*n);printf(*1.根据员工编号查找*n);printf(*2.根据员工姓名查找*n);printf(*0.返回主菜单*n);printf(*n);printf(请输入所选子菜单项序号:);scanf(%d,&subMenuItem);switch (subMenuItem)case 1:printf(输入要查找的员工编号:);scanf(%d,&id);searchById(h,id);break;case 2:printf(输入要查找的员工姓名:);scanf(%s,name);searchByName(h,name)

13、;break;case 0:break;default:printf(输入超出范围!n);break;void main()int menuItemCode;Elemtype *head;head=init();if (head=NULL)return;menuItemCode=1;while (menuItemCode!=0)printf(nn);printf(*人事管理信息系统*n);printf(*1.输入员工信息*n);printf(*2.输出员工信息*n);printf(*3.将员工信息写入文件*n);printf(*4.从文件读取员信息*n);printf(*5.插入一个员工信息*

14、n);printf(*6.删除一个员工信息*n);printf(*7.对员工信息进行排序*n);printf(*8.对员工信息进行查找*n);printf(*0.退出系统*n);printf(*n);printf(请输入所选菜单项序号:);scanf(%d,&menuItemCode);switch (menuItemCode)case 1:inputStaff(head);break;case 2:outputStaff(head);break;case 3:saveStaff(head);break;case 4:readStaff(head);break;case 5:insertOne

15、Staff(head); break;case 6:deleteOneStaff(head); break;case 7:straightInsertSortById(head);break;case 8:searchStaff(head);break;case 0:break;default:printf(输入超出范围!n);break;term(head);方法二#include stdio.h#include string.h#define MAXSIZE 100struct dateint year,month,day;typedef struct manrecordint id;ch

16、ar name20;char sex10;char dept20;struct date worktime;Elemtype;struct sequenceElemtype elemMAXSIZE;int len;struct sequence v;void inputstaff()int i,n;printf(请输入员工个数:n);scanf(%d,&n);if (n0)return;for (i=0;in;i+)printf(输入第%d个企业人员的编号:n,i+1);scanf(%d,&v.elemi.id);printf(输入企业人员姓名:n);scanf(%s,v.elemi.name

17、);printf(输入企业人员性别:n);scanf(%s,v.elemi.sex);printf(输入企业人员部门:n);scanf(%s,v.elemi.dept);printf(输入企业人员工作时间(yyyy-mm-dd):n);scanf(%d-%d-%d,&v.elemi.worktime.year,&v.elemi.worktime.month,&v.elemi.worktime.day);v.len=n;void outputstaff()int i;if (v.len=0)printf(n无数据!n);return;printf(编号t姓名t性别t部门t工作时间n);for (

18、i=0;iv.len;i+)printf(%d t%s t %st %st ,v.elemi.id,v.elemi.name,v.elemi.sex,v.elemi.dept);printf(%d-%d-%dn,v.elemi.worktime.year,v.elemi.worktime.month,v.elemi.worktime.day);voidsavestaff()int i;FILE *fp;if (v.len=0)printf(n无数据!n);return;fp=fopen(d:人事管理信息系统staff.txt,w);if (fp=NULL)printf(文件打失败!n);ret

19、urn;for (i=0;iv.len;i+)fprintf(fp,n);fprintf(fp,%dt%st%st%st,v.elemi.id,v.elemi.name,v.elemi.sex,v.elemi.dept);fprintf(fp,%d-%d-%d,v.elemi.worktime.year,v.elemi.worktime.month,v.elemi.worktime.day);fclose(fp);printf(已成功存盘!n);void readstaff()int i;FILE *fp;fp=fopen(d:人事管理信息系统staff.txt,r);if (fp=NULL)

20、printf(文件打开失败!n);return;i=0;while (!feof(fp)fscanf(fp,%d%s%s%s,&v.elemi.id,v.elemi.name,v.elemi.sex,v.elemi.dept);fscanf(fp,%d-%d-%d,&v.elemi.worktime.year,&v.elemi.worktime.month,&v.elemi.worktime.day);i+;v.len=i;fclose(fp);printf(已从文件成功读取%d条记录!n,v.len);void insertOneStaff()Elemtype s;int i,pos;if

21、(v.len=MAXSIZE)printf(表已满!n);return;printf(请输入插入位置:);scanf(%d,&pos);if (posMAXSIZE)printf(插入位置出错!n);return;printf(请输入要插入的员工记录。n);printf(输入企业人员编号:n);scanf(%d,&s.id);printf(输入企业人员姓名:n);scanf(%s,s.name);printf(输入企业人员性别:n);scanf(%s,s.sex);printf(输入企业人员部门:n);scanf(%s,s.dept);printf(输入企业人员工作时间(yyyy-mm-dd)

22、:n);scanf(%d-%d-%d,&s.worktime.year,&s.worktime.month,&s.worktime.day);for (i=v.len-1;i=pos;i-)v.elemi+1=v.elemi;v.elempos=s;v.len=v.len+1;printf(插入成功!n);void deleteOneStaff()int i,pos;if (v.len=0)printf(表空!n);return;printf(请输入要删除的员工记录的位置:);scanf(%d,&pos);if (pos v.len-1)printf(删除的位置出错!n);return;for

23、 (i=pos+1;i=v.len-1;i+)v.elemi-1=v.elemi;v.len=v.len-1;printf(删除成功!n);void bubbleSortById()int i,j,n;Elemtype temp;int tag;n=v.len;for (tag=1,i=0;ii;j-)if (v.elemj.idv.elemj-1.id)temp=v.elemj;v.elemj=v.elemj-1;v.elemj-1=temp;tag=1;printf(已按照员工编号递增排序。排序后的结果为:n);outputstaff();void outputHead()printf(编

24、号t姓名t性别t部门t工作时间n);void outputOneStaff(Elemtype w)printf(%dt%st%st%st,w.id,w.name,w.sex,w.dept);printf(%d-%d-%d,w.worktime.year,w.worktime.month,w.worktime.day);printf(n);int isIdExist( int id)int n,i=0;n=v.len;while(in & v.elemi.id!=id)i+;if (in)return i;elsereturn -1;void seqSearchById(int id)int p

25、os;pos=isIdExist(id);if (pos!=-1)printf(查找成功!查找结果如下:n);outputHead();outputOneStaff(v.elempos);elseprintf(查找失败!编号为%d的员工不存在。n,id);void seqSearchByName(char name)int flag=0;int n,i;n=v.len;i=0;while (in)if (strcmp(v.elemi.name,name)=0)if (flag=0)flag=1;printf(查找成功!查找结果如下:n);outputHead();outputOneStaff(v.elemi);i+;if (flag=0)printf(查找失败!姓名为%s的员工不存在。n,name);void searchStaff()int id;char name20;int subMenuItem=1;while (subMenuItem!=0)printf(nn);printf(*

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1