欢迎来到天天文库
浏览记录
ID:52604264
大小:270.50 KB
页数:21页
时间:2020-03-29
《人事管理系统——C语言.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、人事管理管理系统[要求]某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。(1)添加删除功能:能根据学院人事的变动情况,添加删除记录;(2)查询功能:能根据编号和姓名进行查询;(3)编辑功能(高级):根据查询对相应的记录进行修改,并存储;(4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时
2、显示被统计者的信息;(5)排序功能:按照年龄、来院时间进行排序;(6)保存功能:能对输入的数据进行相应的存储;一、需求分析:根据题目要求,职工信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写,但当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将N定为100,也
3、即最多可储存的职工人数为100;二、总体设计:根据以上需求分析,将程序分成以下几个模块:1、新建档案信息;2、删除信息;3、追加信息;4、搜索查找信息(按姓名或者编号搜索);5、浏览全部信息;6、修改信息;7、信息排序;8、信息统计;三、详细设计;1、主函数:〈1〉需求分析:为使系统执行完每部分功能后能够方便的回到系统主界面,main()函数设计的很简单,只包含一个menu()函数,其余的全部功能都通过menu()函数调用来实现,并通过menu()函数的递归调用实现返回主界面的功能。main()函数定义如下:main(){menu();}而menu
4、()定义如下:〈2〉流程图:voidmenu(){intn,w1;do{printf("tttt菜t单");printf("tt0t新建档案信息");printf("tt1t删除信息");printf("tt2t追加信息");printf("tt3t搜索查找信息");printf("tt4t浏览所有信息");printf("tt5t修改信息");printf("tt6t信息排序");printf("tt7t信息统计"
5、);printf("tt8t离开");printf("tt请选择您要进行的操作[]bb");/**显示一系列功能并提示选择**/scanf("%d",&n);if(n<0
6、
7、n>8){w1=1;getchar();}elsew1=0;}while(w1==1);/**输入n并判断是否属于0到8**/switch(n){case0:build();break;case1:del();break;case2:add();break;case3:search();break;case4:browse();break;case5:mo
8、dify();break;case6:order();break;case7:data();break;case8:exit(0);default:{printf("输入错误!请重新输入");menu();}/**根据n的值调用各功能函数**/}}2、各功能模块设计:(1)、新建档案信息模块:<1>、数据结构;看各个数据信息,编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别,均为字符串类型,在文件中以文本形式存放,每条记录对应一个人员的信息,可以方便信息的管理;而数据读进内存中时,可以以结构体的形式,每一个结构体
9、包含了一个人员的全部信息,多的人员的信息组成了一个结构体数组。定义如下:structworker{charnum[11];charname[10];charsex[2];charage[3];charzhiwu[15];charzhicheng[15];charzhengzhi[15];charxueli[15];charrenzhisj[8];charlaiyansj[8];charleibie[15];}wk[N],s;其中N是宏定义形式定义的字符,临时定义为100,wk[N],为存放人员信息的结构体数组,而S为临时的结构体,用来保存信息处理过
10、程中的临时数据。〈2〉、流程图如下:〈3〉、程序:intbuild(){inti,m,n,p;FILE*fp;if((fp
此文档下载收益归作者所有