C语言课程设计-人事管理管理系统.doc

C语言课程设计-人事管理管理系统.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课程设计-人事管理管理系统.doc

人事管理管理系统 [要求] 某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。 添加删除功能:能根据学院人事的变动情况,添加删除记录; 查询功能:能根据编号和姓名进行查询; 编辑功能(高级):根据查询对相应的记录进行修改,并存储; 统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息; 排序功能:按照年龄、来院时间进行排序; 保存功能:能对输入的数据进行相应的存储; 一.需求分析: 根据题目要求,人事信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写,但当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将M定为2000,也即最多可储存的职工人数为2000; 二.总体设计: 根据以上需求分析,将程序分成以下几个模块: 1.添加和删除 ****添加人员信息并保存(1) ****按名称和编号查询与删除记录并保存(2) 2.查询与编辑 ****按名称和编号查询 ****重新编辑信息并保存 3. 统计 ****统计在职人数 ****统计党员人数 ****统计女工人数 ****统计硕士以上学历和副教授以上职称人数 ****将统计得到的信息保存在worker3.txt文件中 4. 排序 ****按年龄进行排序(1) ****按来院时间进行排序(2) 三 详细设计; 主函数: 主函数设计的比较简单,只提供输入、处理和输出部分的函数调用。其中各功能模块用菜单方式选择。其流程图如下 程序 main() { int n,w; do { puts(\t\t***********************高校人事管理*************************\n\n\n); puts(\t\t\t\t 1.添加或删除\n); puts(\t\t\t\t 2.查询与编辑\n); puts(\t\t\t\t 3.统计\n) ; puts(\t\t\t\t 4.排序\n); puts(\t\t*************************************************************\n); printf(选择你要的服务(1-4): [ ]\b\b); scanf(%d,n); if(n1||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; } } 1.添加与删除模块,此模块有(1),(2)两个模块构成。 void retify() { int n,w; do { puts(\t\t***************删除或添加人员的信息****************\n\n\n\n\n); puts(\t\t\t\t 1.添加); puts(\t\t\t\t 2.删除); printf(请选择服务(1-2): [ ]\b\b); scanf(%d,n); if(n1||n2) { w=1; getchar(); } else w=0; } while(w==1); switch(n) { case 1:tianjia();break; case 2:shanchu();break; } } (1).添加功能: void tianjia() { FILE *fp; int i,number; struct worker wor_t[N]; printf(您要添加的人的人数:); scanf(%d,num

文档评论(0)

wangshirufeng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档