人事管理系统--c语言课程设计
本科生C语言课程设计论文
课程名称 C语言课程设计
教师姓名 朱莉
本科生姓名 李百蝉
本科生学号 1002986
本科生专业 地质学
所在院系 地球科学学院
日 期: 12月26日
目 录
TOC \o "1-1" \h \u HYPERLINK \l _Toc31182 HYPERLINK \l _Toc24232 目 录 PAGEREF _Toc24232 2
HYPERLINK \l _Toc851 1.课程论文题目3
HYPERLINK \l _Toc29659 2.程序设计思路3
HYPERLINK \l _Toc15901 3.功能模块图4
HYPERLINK \l _Toc9589 4.程序代码4
HYPERLINK \l _Toc4094 5.程序运行结果30
HYPERLINK \l _Toc32288 6.课程设计总结32
HYPERLINK \l _Toc14413 7.致谢32
HYPERLINK \l _Toc20250 8.参考文献32
一 课程论文题目
某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。
添加删除功能:能根据学院人事的变动情况,添加删除记录;
查询功能:能根据编号和姓名进行查询;
编辑功能(高级):根据查询对相应的记录进行修改,并存储;
统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息;
排序功能:按照年龄、来院时间进行排序;
保存功能:能对输入的数据进行相应的存储;
二 程序设计思路
根据题目要求,人事信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写,但当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将M定为2000,也即最多可储存的职工人数为2000;
根据以上需求分析,将程序分成以下几个模块:
1.添加和删除
****添加人员信息并保存(1)
****按名称和编号查询与删除记录并保存(2)
2.查询与编辑
****按名称和编号查询
****重新编辑信息并保存
3. 统计
****统计在职人数
****统计党员人数
****统计女工人数
****统计硕士以上学历和副教授以上职称人数
****将统计得到的信息保存在worker3.txt文件中
4. 排序
****按年龄进行排序(1)
****按来院时间进行排序(2)
三 功能模块图
四 程序代码
主函数:
主函数设计的比较简单,只提供输入、处理和输出部分的函数调用。其中各功能模块用菜单方式选择。其流程图如下
程序
开始
开始
显示一系列功能
根据n的值调用个功能模块函数
结束
输入n,判断是否是0~4
N
Y
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\t\t 5.退出\n");
puts("\t\t*************************************************************\n");
printf("选择你要的服务(1-5): [ ]\b\b");
scanf("%d",&n);
if(n<1