《简单的员工管理系统人力资源招聘面试 _人力资源-招聘面试 .pdf》由会员分享,可在线阅读,更多相关《简单的员工管理系统人力资源招聘面试 _人力资源-招聘面试 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、简单的员工管理系统 1、问题描述:对单位的职工进行管理,包括插入、删除、查找、排序等功能。2、要求:职工对象包括姓名(字符串)、性别(字符)、出生年月(数字)、工作年月(数字)、学历(字符串)、职务(字符串)、住址(字符串)、电话(字符串)等信息。(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。(2)删除一名职工:从职工管理文件中删除一名职工对象。(3)查询:从职工管理文件中查询符合某些条件的职工。(4)修改:检索某个职工对象,对其某些属性进行修改。(5)排序:按某种需要对职工对象文件进行排序。3、实现功能 (1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存
2、。(2)对职工对象中的“姓名”按字典顺序进行排序。(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。4、代码:#include#include#include#include typedef struct worker int id;char name20;char sex3;int age;char edu50;int wages;char adr255;char phone13;WORKER,*PWORKER;_.录入成功!._.n);return-1;/*按姓名查询*/PLINK findname(PLINK p,char*name)message();printf(按姓名 查
3、询n);printf(职工号t 姓名t 性别t 年龄t 学历t 工资t 住址t 电话n);while(NULL!=p-next)if(0=strcmp(p-next-,name)printf(%dt%st%st%dt%st%dt%st%sn,p-next-,p-next-,p-next-,p-next-,p-next-,p-next-,p-next-,p-next-;return p;p=p-next;printf(._.查询结束!._.n);return NULL;/*按职工号删除职工信息*/int del(PLINK p,int id)message();printf(按职工号删除职工信息
4、n);while(NULL!=p-next)if(p-next-=id)PLINK q=p-next;p-next=p-next-next;free(q);性别字符出生年月数字工作年月数字学历字符串职务字符串住址字符串电话字符串等信息新增一名职工将新增职工对象按姓名以字典方式职工管理文件中删除一名职工从职工管理文件中删除一名职工对象查询从职工管理文件中查询功能由键盘输入职工对象以文件方式保存程序执行时先将文件读入内存对职工对象中的姓名按字典顺序进行排序对排序后的职工对象进行增删查询修改排序等操作代码录入成功按姓名查询按姓名查询职工号姓名性别年龄学历工资住询调用姓名查找按学历查找按职工号查按请输
5、入要查询的职工姓名请输入要查询的职工学历请输入要查询的职工号选择完毕输入有误修改职工信息请输入职工号数字找不到此职工请重试请输入职工姓名文字请输入职工性别文字请输 printf(._.删除成功!._.n);return 1;p=p-next;printf(没有你输入的职工号!n);return-1;/*程序结束释放内存*/void release(PLINK p)PLINK q;while(NULL!=p-next)q=p;p=p-next;free(q);free(p);/*查询调用*/void search()int id;char name20;char str20;PLINK pwor
6、ker;int l;printf(tttt*姓名查找按:1*n);printf(tttt*学历查找按:2*n);printf(tttt*职工号查按:3*n);scanf(%d,&l);if(l0&lnext;while(h)if(h-=id)break;h=h-next;if(h=NULL)printf(找不到此职工,请重试n);return-1;printf(请输入职工姓名(文字):);scanf(%s,&h-;printf(请输入职工性别(文字):);scanf(%s,&h-;printf(请输入职工年龄(数字):);scanf(%d,&h-;printf(请输入职工学历(文字):);sc
7、anf(%s,&h-;printf(请输入职工工资(数字):);scanf(%d,&h-;printf(请输入职工住址(文字):);scanf(%s,&h-;printf(请输入职工电话(数字):);scanf(%s,&h-;性别字符出生年月数字工作年月数字学历字符串职务字符串住址字符串电话字符串等信息新增一名职工将新增职工对象按姓名以字典方式职工管理文件中删除一名职工从职工管理文件中删除一名职工对象查询从职工管理文件中查询功能由键盘输入职工对象以文件方式保存程序执行时先将文件读入内存对职工对象中的姓名按字典顺序进行排序对排序后的职工对象进行增删查询修改排序等操作代码录入成功按姓名查询按姓名查
8、询职工号姓名性别年龄学历工资住询调用姓名查找按学历查找按职工号查按请输入要查询的职工姓名请输入要查询的职工学历请输入要查询的职工号选择完毕输入有误修改职工信息请输入职工号数字找不到此职工请重试请输入职工姓名文字请输入职工性别文字请输 q-next=p-next;p-next=q;printf(._.修改成功!._.n);return-1;int main()int cmd=0;int id;char name20;char str20;PLINK pworker;if(!(pworker=create()exit(0);while(cmd!=-1)switch(cmd)case 0:messa
9、ge();break;case 1:add(pworker);break;case 2:show(pworker);break;case 3:search();break;case 4:printf(请输入要删除的职工号:);scanf(%d,&id);del(pworker,id);break;case 5:modify(pworker);break;case 6:message();break;printf(请输入操作命令数字:n);scanf(%d,&cmd);printf(tt谢谢使用nn);release(pworker);return 0;4.测试结果:性别字符出生年月数字工作年月
10、数字学历字符串职务字符串住址字符串电话字符串等信息新增一名职工将新增职工对象按姓名以字典方式职工管理文件中删除一名职工从职工管理文件中删除一名职工对象查询从职工管理文件中查询功能由键盘输入职工对象以文件方式保存程序执行时先将文件读入内存对职工对象中的姓名按字典顺序进行排序对排序后的职工对象进行增删查询修改排序等操作代码录入成功按姓名查询按姓名查询职工号姓名性别年龄学历工资住询调用姓名查找按学历查找按职工号查按请输入要查询的职工姓名请输入要查询的职工学历请输入要查询的职工号选择完毕输入有误修改职工信息请输入职工号数字找不到此职工请重试请输入职工姓名文字请输入职工性别文字请输 5总结:本次课程设计
11、是围绕数据结构进行。根据问题描述可知,需要解决问题并不复杂,整个问题只需要实现一个职工管理系统功能,那就是在这个系统中实现对职工信息的插入、删除、查询、排序、修改以及保存。但是,为了实现该功能,却需要优秀的算法和数据结构以保证实现的时间和空间效率。把职工信息存储在一个单链表中,利用指针实现对职工信息的各项基本操作。虽然设计的程序完成了题目描述所需要实现的功能,但是仍然存在不如人意的地方。那就是可以排序上面多设计几个算法。实现多角度排序。在这个系统中没有职工序号的信息,所以允许职工姓名相同,在很大程度上面,可能是的职工信息重复。经过这次数据结构课程设计,我们不仅及时巩固的了数据结构、算法、以及软
12、件工程的知识,并明白数据结构和算法对于程序时间和空间性能的影响,及软件工程提供的开发流程和工具对于实现特定功能程序的重要意义。当我们面对一个实际问题,应该迅速根据问题性质和特点抽象成特定的数据结构,当然每个问题都有可能能够抽象成多种数据结构,每种数据结构适应于不同的算法。因此应该综合考虑这样的数据结构、算法以及它们的空间和时间效率,然后从中选择一个作为实现程序的基础。此外,对程序的测试应该要仔细,根据模块的特点和测试阶段,采用各种软件测试方法对程序进行测性别字符出生年月数字工作年月数字学历字符串职务字符串住址字符串电话字符串等信息新增一名职工将新增职工对象按姓名以字典方式职工管理文件中删除一名
13、职工从职工管理文件中删除一名职工对象查询从职工管理文件中查询功能由键盘输入职工对象以文件方式保存程序执行时先将文件读入内存对职工对象中的姓名按字典顺序进行排序对排序后的职工对象进行增删查询修改排序等操作代码录入成功按姓名查询按姓名查询职工号姓名性别年龄学历工资住询调用姓名查找按学历查找按职工号查按请输入要查询的职工姓名请输入要查询的职工学历请输入要查询的职工号选择完毕输入有误修改职工信息请输入职工号数字找不到此职工请重试请输入职工姓名文字请输入职工性别文字请输试,确保各个模块的正确性和完整性,最后集成起来测试其是否正确和完整地实现了问题描述中要求的功能。性别字符出生年月数字工作年月数字学历字符串职务字符串住址字符串电话字符串等信息新增一名职工将新增职工对象按姓名以字典方式职工管理文件中删除一名职工从职工管理文件中删除一名职工对象查询从职工管理文件中查询功能由键盘输入职工对象以文件方式保存程序执行时先将文件读入内存对职工对象中的姓名按字典顺序进行排序对排序后的职工对象进行增删查询修改排序等操作代码录入成功按姓名查询按姓名查询职工号姓名性别年龄学历工资住询调用姓名查找按学历查找按职工号查按请输入要查询的职工姓名请输入要查询的职工学历请输入要查询的职工号选择完毕输入有误修改职工信息请输入职工号数字找不到此职工请重试请输入职工姓名文字请输入职工性别文字请输
限制150内