版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、键入文字人事管理管理系统要求某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。(1) 添加删除功能:能根据学院人事的变动情况,添加删除记录;(2) 查询功能:能根据编号和姓名进行查询;(3) 编辑功能(高级):根据查询对相应的记录进行修改,并存储;(4) 统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上),统计要求同时显示被统计者的信息;(5) 排序功能
2、:按照年龄、来院时间进行排序;(6) 保存功能:能对输入的数据进行相应的存储;二.总体设计:根据以上需求分析,将程序分成以下几个模块: 1.添加和删除 *添加人员信息并保存(1) *按名称和编号查询与删除记录并保存(2) 2.查询与编辑 *按名称和编号查询 *重新编辑信息并保存 3. 统计 *统计在职人数 *统计党员人数 *统计女工人数 *统计硕士以上学历和副教授以上职称人数 *将统计得到的信息保存在worker3.txt文件中 4. 排序 *按年龄进行排序(1) *按来院时间进行排序(2)三 详细设计;1、 主函数:主函数设计的比较简单,只提供输入、处理和输出部分的函数调用。其中各功能模块用
3、菜单方式选择。其流程图如下程序开始显示一系列功能根据n的值调用个功能模块函数结束输入n,判断是否是04nymain()int n,w;doputs(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
4、();break;case 3:stat();break;case 4:row();break;1.添加与删除模块,此模块有(1),(2)两个模块构成。void retify()int n,w;doputs(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;(1).添加功能:开始
5、输入你要添加人的信息并且显示在屏幕中对原文件进行添加并保存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_);printf(性别:n);scanf(%s,wor_ti.sex);printf(年龄:n);scanf(%d,&wor_ti.old)
6、;printf(职称: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_e_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_,wor_ti.sex,wor_ti.old,wor_ti.zhicheng,wor_ti.zhiwei,wor_ti.mianmao,wor_ti.xueli,wor_e_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+)
8、fprintf(fp,n%d %s %s %d %s %s %s %s %d %d %d,wor_ti.num,wor_,wor_ti.sex,wor_ti.old,wor_ti.zhicheng,wor_ti.zhiwei,wor_ti.mianmao,wor_ti.xueli,wor_e_time,wor_ti.work_time,wor_ti.leibie);fclose(fp);(2).删除模块该模块的功能是根据编号和姓名先查询出该人的信息,然后从原文件中删除该人的信息。流程图如下,开始输入要删除记录的编号和姓名该人存在与否?显示:该人在?删除原文件中该人的信
9、息并且保存yn程序void shanchu()file *fp,*fp1;int i,number,k,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);
10、if(fp=fopen(d:txtworker.txt,r)=null) printf(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.sex,&worker2i.old,worker2i.zhicheng,worker2i.zhiwei,wo
11、rker2i.mianmao,worker2i.xueli,&e_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(,bj) worker1m=worker2i;m+;printf( %d %s %s %d %s %s %s %s %d %d %dn,worker2i.num,,worker2i.sex,worker2i.old,
12、worker2i.zhicheng,worker2i.zhiwei,worker2i.mianmao,worker2i.xueli,e_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();e
13、xit(0);for(i=0;im;i+) printf(%d%s%s%d%s%s%s%s%d%d%dn,worker1i.num,,worker1i.sex,worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,e_time,worker1i.work_time,worker1i.leibie);fprintf(fp1,%d%s%s%d%s%s%s%s%d%d%dn,worker1i.num,,worker1i.s
14、ex,worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,e_time,worker1i.work_time,worker1i.leibie);fclose(fp1);getch();2,查询和编辑功能:首先,输入你要查询的人的编号和姓名,电脑将显示出该人的信息,并提问你是否要对该人的信息重新进行编辑,若选择了重新编辑的选项就重新输入该人的信息,此时将显示该人的信息并且对原文件进行修改和保存。void sear_edit()file *fp,*fp1;struct
15、worker wor_people ,worker1m;int i,k,m,n;printf(你想查询谁?n);printf(输入你想查询的人的编号和姓名 n);printf(输入你想查询的人的编号 n);scanf(%d,&wor_people.num);printf(输入你想查询的人的姓名 n);scanf(%s,wor_);if(fp=fopen(d:txtworker.txt,r)=0) printf(ncannot open filen);getch();exit(0);开始输入你要查询人的编号和姓名显示该人的信息是否重新编辑该信息?该人是否存在?显示该人不存在
16、重新输入该人的信息显示你刚才输入的信息,并且保存到原文件里for(i=0;!feof(fp);i+)for(i=0;!feof(fp);i+)fscanf(fp,%d %s %s %d %s %s %s %s %d %d %d,&worker1i.num,,worker1i.sex,&worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,&e_time,&worker1i.work_time,&worker1i.leibie);k=i;m=-
17、1;for(i=0;ik;i+)if(wor_people.num=worker1i.num|!(strcmp(wor_,)printf(%d %s %s %d %s %s %s %s %d %d %d,worker1i.num,,worker1i.sex,worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,e_time,worker1i.work_time,worker1i.leibie);
18、m=i;fclose(fp);if(m=-1) printf(n这个人不存在?);exit(0);getch();printf(n你想重新编辑这个人的信息吗?n );printf(如果你想,请按 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.sex,worker1m.old,worker1m.zhicheng,worker1m.zhiwei,worker1m.mianmao,work
19、er1m.xueli,e_time,worker1m.work_time,worker1m.leibie);printf( 输入新的信息n);printf(编号:n);scanf(%d,&worker1m.num);printf(姓名:n);scanf(%s,);printf(性别:n);scanf(%s,worker1m.sex);printf(年龄:n);scanf(%d,&worker1m.old);printf(职称:n);scanf(%s,worker1m.zhicheng);printf(职位:n);scanf(%s,worker1
20、m.zhiwei);printf(政治面貌:n);scanf(%s,worker1m.mianmao);printf(学历:n);scanf(%s,worker1m.xueli);printf(来院时间:n);scanf(%d,&e_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,wo
21、rker1m.num,,worker1m.sex,worker1m.old,worker1m.zhicheng,worker1m.zhiwei,worker1m.mianmao,worker1m.xueli,e_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
22、%dn,worker1i.num,,worker1i.sex,worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,e_time,worker1i.work_time,worker1i.leibie);fclose(fp1);if(n=2) exit(0);3,根据各个参数进行统计:*统计在职人数*统计党员人数*统计女工人数*统计硕士以上学历和副教授以上职称人数*将统计得到的信息保存在worker3.txt文件中void stat() fil
23、e *fp,*fp1;int w_num,d_num,wo_num,x_c_num,i,k;struct worker worker1m;puts(tt*统计人数菜单*nn);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.sex,&wo
24、rker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,&e_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
25、_num+;if(!(strcmp(worker1i.xueli,doc) x_c_num+;if(!(strcmp(worker1i.xueli,mas) 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(高
26、职称高学历人数: );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和comingtime_row.txt中。开始选择你要进行排序的参数选择1就按年龄进行排序选择2就按来院时间进行排序显示按相应
27、参数进行排序的结果并且分别保存在相应的 文件夹里void row() int n, w;doputs(tt*按年龄和来院时间排序*nn);puts(tttt 1.按年龄排序n); puts(tttt 2.按来院时间排序n);puts(nntt*n);printf( 选择数字后就可排序(1-2): bb);scanf(%d,&n);if(n2)w=1;getchar();else w=0;while(w=1);switch(n)case 1:old_row();break;case 2:comingtime_row();break;(1).按年龄对人员进行排序:void old_row()fil
28、e *fp,*fp1;struct worker wor_people ,worker1m;int i,j,k;if(fp=fopen(d:txtworker.txt,r)=null) 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.sex,&worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,wo
29、rker1i.xueli,&e_time,&worker1i.work_time,&worker1i.leibie);k=i;for(i=0;ik;i+)for(j=i+1;jworker1j.old)wor_people=worker1i;worker1i=worker1j;worker1j=wor_people;if(fp1=fopen(d:txtold_row.txt,w)=0) printf(ncannot open filen);for(i=0;ik;i+)printf(%d %s %s %d %s %s %s %s %d %d %dn,worker1i.nu
30、m,,worker1i.sex,worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,e_time,worker1i.work_time,worker1i.leibie);fprintf(fp1,%d %s %s %d %s %s %s %s %d %d %dn,worker1i.num,,worker1i.sex,worker1i.old,worker1i.zhicheng,worker1i.zhiwei,work
31、er1i.mianmao,worker1i.xueli,e_time,worker1i.work_time,worker1i.leibie);fclose(fp1);(2).按来院时间对人员进行排序void comingtime_row()file *fp,*fp1;struct worker wor_people ,worker1m;int i,j,k;if(fp=fopen(d:txtworker.txt,r)=null) printf(ncannot open filen);exit(0);for(i=0;!feof(fp);i+)fscanf(fp,%d %s
32、%s %d %s %s %s %s %d %d %d,&worker1i.num,,worker1i.sex,&worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,&e_time,&worker1i.work_time,&worker1i.leibie);k=i;for(i=0;ik;i+)for(j=i+1;jworker1j.work_time)wor_people=worker1i;worker1i=worker1j;worker1j
33、=wor_people;if(fp1=fopen(d:txtcomingtime_row.txt,w)=0) printf(ncannot open filen);for(i=0;ik;i+)fprintf(fp1,%d %s %s %d %s %s %s %s %d %d %dn,worker1i.num,,worker1i.sex,worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,e_time,worker1i.work_time,w
34、orker1i.leibie);printf(%d %s %s %d %s %s %s %s %d %d %dn,worker1i.num,,worker1i.sex,worker1i.old,worker1i.zhicheng,worker1i.zhiwei,worker1i.mianmao,worker1i.xueli,e_time,worker1i.work_time,worker1i.leibie);fclose(fp1);各模块汇总构成总程序并且各功能运行过程如下:# include# include# include# includ
35、e# define m 2000# define n 20void retify();void sear_edit();void tianjia();void shanchu();void row();void stat();void old_row();void comingtime_row();main()int n,w;doputs(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);sca
36、nf(%d,&n);if(n4)w=1;getchar();else w=0;while(w=1);switch(n)case 1:retify();break;case 2:sear_edit();break;case 3:stat();break;case 4:row();break;struct workerint num;char name20;char sex10;int old;char zhicheng20;char zhiwei20;char mianmao20;char xueli20;int come_time;int work_time;int leibie;worn;v
37、oid retify()int n,w;doputs(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;void tianjia()file *fp;int i,number;struct worker wor_tn;printf(您要添加的人的人数:);scanf(%d,&nu
38、mber); printf(输入添加人的信息:n);for(i=0;inumber;i+)printf(编号:n);scanf(%d,&wor_ti.num);printf(姓名:n);scanf(%s,wor_);printf(性别:n);scanf(%s,wor_ti.sex);printf(年龄:n);scanf(%d,&wor_ti.old);printf(职称:n);scanf(%s,wor_ti.zhicheng);printf(职位:n);scanf(%s,wor_ti.zhiwei);printf(政治面貌:n);scanf(%s,wor_ti.mianmao);
39、printf(学历:n);scanf(%s,wor_ti.xueli);printf(来院时间:n);scanf(%d,&wor_e_time); printf(在院工作时间:n);scanf(%d,&wor_ti.work_time);printf(在职与否:在职请按1,不在职请按2n);scanf(%d,&wor_ti.leibie);printf(您刚才输入的人的信息n);printf(%d %s %s %d %s %s %s %s %d %d %d n,wor_ti.num,wor_,wor_ti.sex,wor_ti.old,wor_ti.zhicheng,
40、wor_ti.zhiwei,wor_ti.mianmao,wor_ti.xueli,wor_e_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+)fprintf(fp,n%d %s %s %d %s %s %s %s %d %d %d,wor_ti.num,wor_,wor_ti.sex,wor_ti.old,wor_ti.zhicheng,wor_ti.zhiw
41、ei,wor_ti.mianmao,wor_ti.xueli,wor_e_time,wor_ti.work_time,wor_ti.leibie);fclose(fp);void shanchu()file *fp,*fp1;int i,number,k,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
42、);printf(输入添加人的姓名:n);scanf(%s,bi);printf(您刚才输入的人的信息的编号和姓名:n);printf(%d %sn,ai,bi);if(fp=fopen(d:txtworker.txt,r)=null) printf(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
43、.num,,worker2i.sex,&worker2i.old,worker2i.zhicheng,worker2i.zhiwei,worker2i.mianmao,worker2i.xueli,&e_time,&worker2i.work_time,&worker2i.leibie);k=i;fclose(fp);m=0;for(i=0;ik;i+)for(j=0;jnumber;j+)if(worker2i.num!=aj&strcmp(,bj) worker1m=worker2i;m+;printf( %d %
44、s %s %d %s %s %s %s %d %d %dn,worker2i.num,,worker2i.sex,worker2i.old,worker2i.zhicheng,worker2i.zhiwei,worker2i.mianmao,worker2i.xueli,e_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( %d %s %s %d %s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学生实习期间家长保证书
- 版汽运运输合同
- 生鲜食品采购合同
- 煤炭购销合同范本模板
- 政府采购合同履行
- 招标谈判文件的编辑技巧
- 商场店铺接盘合同模板
- 房屋买卖合同补充协议范例
- 简单易懂的投资理财合同
- 业绩分享合同样本
- xx中心小学综合实践基地计划模板(完整版)
- 安规考试题库500题(含标准答案)
- 2022年度个人政治素质考察自评报告三篇
- NB∕T 13007-2021 生物柴油(BD100)原料 废弃油脂
- 肺结核患者管理结案评估表
- 2021离婚协议书电子版免费
- 《班主任工作常规》课件
- 初中英语期末考试方法与技巧课件
- 四年级上册综合实践试题-第一学期实践考查卷 粤教版 含答案
- 油烟管道清洗服务承诺书
- 卷积神经网络讲义课件
评论
0/150
提交评论