- 28
- 1
- 约1.08万字
- 约 21页
- 2020-09-17 发布于天津
- 举报
PAGE
PAGE # / 21
PAGE
PAGE # / 21
人事管理管理系统
[要求]
某高校主要人员有:在职人员(行政人员、教师、一般员工) 、退休人员和临时 工。现在,需要存储这些人员的人事档案信息: 编号、姓名、性别、年龄、职务、 职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号 唯一,不能重复。
( 1) 添加删除功能:能根据学院人事的变动情况,添加删除记录;
( 2) 查询功能:能根据编号和姓名进行查询;
( 3) 编辑功能(高级):根据查询对相应的记录进行修改,并存储;
( 4) 统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工 人数、高学历高职称人数 (硕士学位以上或者副教授以上) ),统计要求同 时显示被统计者的信息;
( 5) 排序功能:按照年龄、来院时间进行排序;
( 6) 保存功能:能对输入的数据进行相应的存储;
一、 需求分析:
根据题目要求, 职工信息是存放在文件中的, 所以应该提供相应的文件的输入输 出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实 现相应的操作, 另外菜单式的选择方式选择程序的功能也是必须需的。 另外程序 中要求存储的模块, 采用的方式均为将原文件中的所有数据读入内存, 在内存中 处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写, 但当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将 N 定 为 100,也即最多可储存的职工人数为 100;
二、 总体设计:
根据以上需求分析,将程序分成以下几个模块:
1、新建档案信息;
2、删除信息;
3、追加信息;
4、搜索查找信息(按姓名或者编号搜索) ;
5、浏览全部信息;
6、修改信息;
7、信息排序;
8、信息统计;
三、 详细设计;
1、主函数: 〈1〉需求分析:
为使系统执行完每部分功能后能够方便的回到系统主界面, main()函数设计的很
简单,只包含一个menu()函数,其余的全部功能都通过 menu()函数调用来实现, 并通过menu()函数的递归调用实现返回主界面的功能。
mai n()函数定义如下:
main()
{me nu();}而menu()定义如下:
{me nu();}而menu()定义如下:
〈2〉流程图:
通过menuO函数的」 谨归调用实现重新“ 选择(
{
int n,w1;
do
{
printf(\n\t\t\t\t 菜\t 单\n);
printf(\n\t\t0\t 新建档案信息 \n\n);
printf(\t\t1\t 删除信息 \n\n);
printf(\t\t2\t 追加信息 \n\n);
printf(\t\t3\t 搜索查找信息 \n\n);
printf(\t\t4\t 浏览所有信息 \n\n);
printf(\t\t5\t 修改信息 \n\n);
printf(\t\t6\t 信息排序 \n\n);
printf(\t\t7\t 信息统计 \n\n);
printf(\t\t8\t 离开 \n\n);
printf(\t\t请选择您要进行的操作 []\b\b);
提示选择**/
sea nf(%d,n);
if(n 0|| n8)
{
w1=1;
getchar();
}
else w1=0;
}
while(w 1==1);
于0到8**/
/**显示一系列功能并/**
/**显示一系列功能并
/**输入n并判断是否属
{
case 0:build();break;
case 1:del();break;
case 2:add();break;
case 3:search();break;
case 4:browse();break;
case 5:modify();break;
case 6:order();break;
case 7:data();break;
case 8:exit(0);
default:{printf( 输入错误!请重新输入 );menu();}
/** 根据 n 的值调用各功能函数 **/
}
}
2、各功能模块设计:
(1)、新建档案信息模块:
1、数据结构; 看各个数据信息,编号、姓名、性别、年龄、 职务、职称、政治面貌、最高学历、 任职时间、来院时间、人员类别,均为字符串类型,在文件中以文本形式存放, 每条记录对应一个人员的信息, 可以方便信息的管理; 而数据读进内存中时, 可 以以结构体的形式, 每一个结构体包含了一个人员的全部信息, 多的人员的信息 组成了一个结构体数组。定义如下:
struct worker
{char num[11];
char name[10];
char sex[2];
char age[3
原创力文档

文档评论(0)