人事管理管理系统—C语言课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

人事管理管理系统

[要求]

某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。(1)添加删除功能:能根据学院人事的变动情况,添加删除记录;

(2)查询功能:能根据编号和姓名进行查询;

(3)编辑功能(高级):根据查询对相应的记录进行修改,并存储;

(4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息;

(5)排序功能:按照年龄、来院时间进行排序;

(6)保存功能:能对输入的数据进行相应的存储;

一.需求分析:

根据题目要求,人事信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写,但当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将RS定为100,也即最多可储存的职工人数为100;

二总体设计:

根据以上需求分析,将程序分成以下几个模块:

1浏览:

****浏览文件(0)

2 删除

****删除记录(1)

3查询

****按名称查询(2)

****按编号查询(3)

4 编辑

****查询名称编辑信息(4)

****查询编号编辑信息(5)

5 统计

****统计在职人数(6)

****统计党员人数(7)

****统计女工人数(8)

****统计硕士以上学历人数(9)

****统计副教授以上职称人数(10)

6 排序

****按年龄进行排序(11)

****按来院时间进行排序(12)

7 保存

****将输入的记录进行保存(13)

三详细设计;

1、主函数:

主函数设计的比较简单,只提供输入、处理和输出部分的函数调用。其中各功能模块用菜单方式选择。其流程图如下

程序

void main()

{ do

{ int n;

puts("****************************************************\n");

puts("****************人事管理系统************************\n");

puts("**请选择以下选项后面的数字输入以确定您要进行的操作**\n");

puts("选项:");

puts("浏览:");

puts(" ****浏览文件(0)");

puts(" 删除");

puts(" ****删除记录(1)");

puts(" 查询");

puts(" ****按名称查询(2)");

puts(" ****按编号查询(3)");

puts(" 编辑");

puts(" ****查询名称编辑信息(4)");

puts(" ****查询编号编辑信息(5)");

puts(" 统计");

puts(" ****统计在职人数(6)");

puts(" ****统计党员人数(7)");

puts(" ****统计女工人数(8)");

puts(" ****统计硕士以上学历人数(9)");

puts(" ****统计副教授以上职称人数(10)");

puts(" 排序");

puts(" ****按年龄进行排序(11)");

puts(" ****按来院时间进行排序(12)");

puts(" 保存");

puts(" ****将输入的记录进行保存(13)");

puts(" 退出");

puts(" ****退出(14)");

printf("请输入选项号: ");

scanf("%d",&n);

switch(n)

{ case 0:browse();break;

case 1:dele();break;

case 2:searname();break;

case 3:searnum();break;

case 4:channame();break;

case 5:channum();break;

case 6:sumzzrs();break;

case 7:sumdyrs();break;

case 8:sumngrs();break;

case 9:sumssysxlrs();break;

case 10:sumfjsyszhichers();break;

case 11:sortage();break;

case 12:sortlysj();break;

case 13:save();break;

case 14:return;

default: printf("输入错误");

}

}while(1);

}

2、各功能设计模块

(0)浏览模块

该模块的功能是显示文件的所有信息,流程图如下

相关文档
最新文档