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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言设计人事管理管理系统 精品.docx

1、C语言设计人事管理管理系统 精品人事管理管理系统要求某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。(1) 添加删除功能:能根据学院人事的变动情况,添加删除记录;(2) 查询功能:能根据编号和姓名进行查询;(3) 编辑功能(高级):根据查询对相应的记录进行修改,并存储;(4) 统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上),统计要求同时显示被统计者

2、的信息;(5) 排序功能:按照年龄、来院时间进行排序;(6) 保存功能:能对输入的数据进行相应的存储;二.总体设计:根据以上需求分析,将程序分成以下几个模块: 1.添加和删除 *添加人员信息并保存(1) *按名称和编号查询与删除记录并保存(2) 2.查询与编辑 *按名称和编号查询 *重新编辑信息并保存 3. 统计 *统计在职人数 *统计党员人数 *统计女工人数 *统计硕士以上学历和副教授以上职称人数 *将统计得到的信息保存在worker3.txt文件中 4. 排序 *按年龄进行排序(1) *按来院时间进行排序(2)三 详细设计;1、 主函数:主函数设计的比较简单,只提供输入、处理和输出部分的函

3、数调用。其中各功能模块用菜单方式选择。其流程图如下程序main() int n,w; do puts(tt*高校人事管理*nnn); puts(tttt 1.添加或删除n); puts(tttt 2.查询与编辑n); puts(tttt 3.统计n) ; puts(tttt 4.排序n); puts(tt*n); printf(选择你要的服务(1-4): bb); scanf(%d,&n); if(n4) w=1; getchar(); else w=0; while(w=1); switch(n) case 1:retify();break; case 2:sear_edit();break

4、; case 3:stat();break; case 4:row();break; 1.添加与删除模块,此模块有(1),(2)两个模块构成。void retify() int n,w; do puts(tt*删除或添加人员的信息*nnnnn); puts(tttt 1.添加); puts(tttt 2.删除); printf(请选择服务(1-2): bb); scanf(%d,&n); if(n2) w=1; getchar(); else w=0; while(w=1); switch(n) case 1:tianjia();break; case 2:shanchu();break; (

5、1).添加功能:void tianjia() FILE *fp; int i,number; struct worker wor_tN; printf(您要添加的人的人数:); scanf(%d,&number); printf(输入添加人的信息:n); for(i=0;inumber;i+) printf(编号:n);scanf(%d,&wor_ti.num); printf(姓名:n); scanf(%s,wor_ti.name); printf(性别:n);scanf(%s,wor_ti.sex); printf(年龄:n);scanf(%d,&wor_ti.old); printf(职

6、称:n);scanf(%s,wor_ti.zhicheng); printf(职位:n);scanf(%s,wor_ti.zhiwei); printf(政治面貌:n);scanf(%s,wor_ti.mianmao); printf(学历:n);scanf(%s,wor_ti.xueli); printf(来院时间:n);scanf(%d,&wor_tie_time); printf(在院工作时间:n);scanf(%d,&wor_ti.work_time); printf(在职与否:在职请按1,不在职请按2n);scanf(%d,&wor_ti.leibie); printf(您刚才输入的

7、人的信息n); printf(%d %s %s %d %s %s %s %s %d %d %d n,wor_ti.num,wor_ti.name,wor_ti.sex,wor_ti.old,wor_ti.zhicheng,wor_ti.zhiwei,wor_ti.mianmao,wor_ti.xueli,wor_tie_time,wor_ti.work_time,wor_ti.leibie); if(fp=fopen(D:txtworker.txt,a+)=NULL) printf(nCannot open filen); exit(0); for(i=0;inumber;i+) fprint

8、f(fp,n%d %s %s %d %s %s %s %s %d %d %d,wor_ti.num,wor_ti.name,wor_ti.sex,wor_ti.old,wor_ti.zhicheng,wor_ti.zhiwei,wor_ti.mianmao,wor_ti.xueli,wor_tie_time,wor_ti.work_time,wor_ti.leibie); fclose(fp); (2).删除模块该模块的功能是根据编号和姓名先查询出该人的信息,然后从原文件中删除该人的信息。流程图如下,程序void shanchu() FILE *fp,*fp1; int i,number,k,

9、j,m; struct worker worker1M,worker2M; int aN; char bN20; printf(您要删除的人的人数:n); scanf(%d,&number); for(i=0;inumber;i+) printf(输入删除人的信息的编号和姓名:n); printf(输入添加人的编号:n);scanf(%d,&ai); printf(输入添加人的姓名:n);scanf(%s,bi); printf(您刚才输入的人的信息的编号和姓名:n); printf(%d %sn,ai,bi); if(fp=fopen(D:txtworker.txt,r)=NULL) pri

10、ntf(nCannot open filen); getch(); exit(0); printf(输出公司更改前所有人员的信息:n编号 姓名 性别 年龄 职称 职位 面貌 学历 来院时间 工作时间 在职与否n); for(i=0;!feof(fp);i+) fscanf(fp,%d %s %s %d %s %s %s %s %d %d %d,&worker2i.num,worker2i.name,worker2i.sex,&worker2i.old,worker2i.zhicheng,worker2i.zhiwei,worker2i.mianmao,worker2i.xueli,&worke

11、r2ie_time,&worker2i.work_time,&worker2i.leibi); k=i; fclose(fp); m=0; for(i=0;ik;i+) for(j=0;jnumber;j+) if(worker2i.num!=aj&strcmp(worker2i.name,bj) worker1m=worker2i; m+; printf( %d %s %s %d %s %s %s %s %d %d %dn,worker2i.num,worker2i.name,worker2i.sex,worker2i.old,worker2i.zhicheng,worker2i.zhiwe

12、i,worker2i.mianmao,worker2i.xueli,worker2ie_time,worker2i.work_time,worker2i.leibie); if(k=m) printf(n这个人不存在?);exit(0);getch(); printf(输出公司更改后所有人员的信息:n编号 姓名 性别 年龄 职称 职位 面貌 学历 来院时间 工作时间 在职与否n); if(fp1=fopen(D:txtworker.txt,w)=NULL) printf(nCannot open filen); getch(); exit(0); for(i=0;im;i+) printf(%

13、d%s%s%d%s%s%s%s%d%d%dn,worker1i.num,worker1i.name,worker1i.sex,worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,worker1ie_time,worker1i.work_time,worker1i.leibie);fprintf(fp1,%d%s%s%d%s%s%s%s%d%d%dn,worker1i.num,worker1i.name,worker1i.sex,worker1i.old,worker1i.zhicheng,

14、worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,worker1ie_time,worker1i.work_time,worker1i.leibie); fclose(fp1); getch();2,查询和编辑功能:首先,输入你要查询的人的编号和姓名,电脑将显示出该人的信息,并提问你是否要对该人的信息重新进行编辑,若选择了重新编辑的选项就重新输入该人的信息,此时将显示该人的信息并且对原文件进行修改和保存。void sear_edit() FILE *fp,*fp1; struct worker wor_people ,worker1M; int i

15、,k,m,n; printf(你想查询谁?n); printf(输入你想查询的人的编号和姓名 n); printf(输入你想查询的人的编号 n);scanf(%d,&wor_people.num); printf(输入你想查询的人的姓名 n);scanf(%s,wor_people.name); if(fp=fopen(D:txtworker.txt,r)=0) printf(nCannot open filen);getch(); exit(0); for(i=0;!feof(fp);i+) for(i=0;!feof(fp);i+) fscanf(fp,%d %s %s %d %s %s

16、%s %s %d %d %d,&worker1i.num,worker1i.name,worker1i.sex,&worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,&worker1ie_time,&worker1i.work_time,&worker1i.leibie); k=i;m=-1; for(i=0;ik;i+) if(wor_people.num=worker1i.num|!(strcmp(wor_people.name,worker1i.name) printf(%d %s

17、%s %d %s %s %s %s %d %d %d,worker1i.num,worker1i.name,worker1i.sex,worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,worker1ie_time,worker1i.work_time,worker1i.leibie); m=i; fclose(fp); if(m=-1) printf(n这个人不存在?);exit(0);getch(); printf(n你想重新编辑这个人的信息吗?n ); printf(如果你想,请按

18、1n如果不想请按 2n); scanf(%d,&n); if(n=1) printf(这个人的初始信息:n); printf(n%d %s %s %d %s %s %s %s %d %d %dn,worker1m.num,worker1m.name,worker1m.sex,worker1m.old,worker1m.zhicheng,worker1m.zhiwei,worker1m.mianmao,worker1m.xueli,worker1me_time,worker1m.work_time,worker1m.leibie); printf( 输入新的信息n); printf(编号:n);

19、scanf(%d,&worker1m.num); printf(姓名:n); scanf(%s,worker1m.name); printf(性别:n);scanf(%s,worker1m.sex); printf(年龄:n);scanf(%d,&worker1m.old); printf(职称:n);scanf(%s,worker1m.zhicheng); printf(职位:n);scanf(%s,worker1m.zhiwei); printf(政治面貌:n);scanf(%s,worker1m.mianmao); printf(学历:n);scanf(%s,worker1m.xueli

20、); printf(来院时间:n);scanf(%d,&worker1me_time); printf(在院工作时间:n);scanf(%d,&worker1m.work_time); printf(在职与否:在职请按1,不在职请按2n);scanf(%d,&worker1i.leibie); printf(您刚才输入的人的信息n); printf(n%d %s %s %d %s %s %s %s %d %d %dn,worker1m.num,worker1m.name,worker1m.sex,worker1m.old,worker1m.zhicheng,worker1m.zhiwei,wo

21、rker1m.mianmao,worker1m.xueli,worker1me_time,worker1m.work_time,worker1m.leibie); if(fp1=fopen(D:txtworker.txt,w)=0) printf(nCannot open filen); exit(0); for(i=0;ik-1;i+) fprintf(fp1,%d %s %s %d %s %s %s %s %d %d %dn,worker1i.num,worker1i.name,worker1i.sex,worker1i.old,worker1i.zhicheng,worker1i.zhi

22、wei,worker1i.mianmao,worker1i.xueli,worker1ie_time,worker1i.work_time,worker1i.leibie); fclose(fp1); if(n=2) exit(0);3,根据各个参数进行统计:*统计在职人数*统计党员人数*统计女工人数*统计硕士以上学历和副教授以上职称人数 *将统计得到的信息保存在worker3.txt文件中void stat() FILE *fp,*fp1; int w_num,d_num,wo_num,x_c_num,i,k; struct worker worker1M; puts(tt*统计人数菜单*n

23、n); printf(tttt 各种人员的人数); puts(nntt*n); if(fp=fopen(D:txtworker.txt,r)=0) printf(nCannot open filen); exit(0); for(i=0;!feof(fp);i+) fscanf(fp,%d %s %s %d %s %s %s %s %d %d %d,&worker1i.num,worker1i.name,worker1i.sex,&worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,&wo

24、rker1ie_time,&worker1i.work_time,&worker1i.leibie); k=i; fclose(fp); w_num=0,d_num=0,wo_num=0,x_c_num=0; for(i=0;ik;i+) if(!(strcmp(worker1i.sex,w) wo_num+; if(!(strcmp(worker1i.mianmao,dang) d_num+; if(worker1i.leibie=1) w_num+; if(!(strcmp(worker1i.xueli,doc) x_c_num+; if(!(strcmp(worker1i.xueli,m

25、as) x_c_num+; if(!(strcmp(worker1i.zhicheng,Professor) x_c_num+; if(!(strcmp(worker1i.zhicheng,a_professor) x_c_num+; printf(在职人员数目:); printf(%dn,wo_num); printf(党员人数:); printf(%dn,d_num); printf(女职工人数: ); printf(%dn,wo_num); printf(高职称高学历人数: ); printf(%d,x_c_num); getch(); if(fp1=fopen(D:txtworker3.txt,w)=NULL) printf(nCannot open filen); exit(0); fprintf(fp1,%d %d %d %d ,w_num,d_num,wo_num,x_c_num); fclose(fp1);4.排序模块:该模块有两个子模块构成,按年龄和来源时间对原文件里的信息进行排序并且将排序分别保存在old_row.txt和ingtime_row.txt中。void row() int n, w; do puts(tt*按年龄和来院时间排序*nn); puts(tttt 1.按年龄排序n); puts(tttt 2.按来院时间排序n); puts(nntt*n)

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

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