人事管理_c语言课程设计之人事管理系统

上传人:F****n 文档编号:91238017 上传时间:2019-06-26 格式:DOC 页数:34 大小:1,022.50KB
返回 下载 相关 举报
人事管理_c语言课程设计之人事管理系统_第1页
第1页 / 共34页
人事管理_c语言课程设计之人事管理系统_第2页
第2页 / 共34页
人事管理_c语言课程设计之人事管理系统_第3页
第3页 / 共34页
人事管理_c语言课程设计之人事管理系统_第4页
第4页 / 共34页
人事管理_c语言课程设计之人事管理系统_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《人事管理_c语言课程设计之人事管理系统》由会员分享,可在线阅读,更多相关《人事管理_c语言课程设计之人事管理系统(34页珍藏版)》请在金锄头文库上搜索。

1、 本科生C语言课程设计论文课程名称 C语言课程设计 教师姓名 朱莉 本科生姓名 李百蝉 本科生学号 20111002986 本科生专业 地质学 所在院系 地球科学学院 日 期: 2013年12月26日 目 录目 录21.课程论文题目32.程序设计思路33.功能模块图44.程序代码45.程序运行结果306.课程设计总结327.致谢328.参考文献32 一 课程论文题目某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。(1

2、) 添加删除功能:能根据学院人事的变动情况,添加删除记录;(2) 查询功能:能根据编号和姓名进行查询;(3) 编辑功能(高级):根据查询对相应的记录进行修改,并存储;(4) 统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上),统计要求同时显示被统计者的信息;(5) 排序功能:按照年龄、来院时间进行排序;(6) 保存功能:能对输入的数据进行相应的存储;二 程序设计思路根据题目要求,人事信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的

3、选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写,但当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将M定为2000,也即最多可储存的职工人数为2000;根据以上需求分析,将程序分成以下几个模块: 1.添加和删除 *添加人员信息并保存(1) *按名称和编号查询与删除记录并保存(2) 2.查询与编辑 *按名称和编号查询 *重新编辑信息并保存 3. 统计 *统计在职人数 *统计党员人数 *统计女工人数 *统计硕士以上学历和副教授以上职称人数 *将统计得到

4、的信息保存在worker3.txt文件中 4. 排序 *按年龄进行排序(1) *按来院时间进行排序(2) 三 功能模块图四 程序代码1、 主函数:主函数设计的比较简单,只提供输入、处理和输出部分的函数调用。其中各功能模块用菜单方式选择。其流程图如下程序开始显示一系列功能根据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(tttt 5.退出n);puts(tt*

5、n);printf(选择你要的服务(1-5): bb);scanf(%d,&n);if(n5)w=1;getchar();else w=0;while(w=1);switch(n)case 1:retify();main();break;case 2:sear_edit();main();break;case 3:stat();main();break;case 4:row();main();break; case 5:exit(0);break;struct workerint num;char name20;char sex10;int old;char zhicheng20;char z

6、hiwei20;char mianmao20;char xueli20;int come_time;int work_time;int leibie;worN;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;ca

7、se 2:shanchu();break;(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);pr

8、intf(年龄: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);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

9、(%d,&wor_ti.leibie);printf(您刚才输入的人的信息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_e_time,wor_ti.work_time,wor_ti.leibie);if(fp=fopen(D:txtworker.txt,a+)=NULL) printf(nCannot open filen);exit(0)

10、;for(i=0;inumber;i+)fprintf(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_e_time,wor_ti.work_time,wor_ti.leibie);fclose(fp);(2).删除模块该模块的功能是根据编号和姓名先查询出该人的信息,然后从原文件中删除该人的信息。流程图如下,开始输入要删除记录的编号和姓名该人存在与否?显示:

11、该人在?删除原文件中该人的信息并且保存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);if(fp=fopen(worker.txt,r)=NULL) printf(nCannot open filen);getch();exit(0);for(i=0;!feof(fp);i+)fscanf(fp,%d %s %s %d %s %s %s %s %d %d %dn,&worker2i.num,worker2i.name,worker2i.sex,&worker2i.old,worker2i.zhicheng,worker2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号