ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:163.84KB ,
资源ID:29068033      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29068033.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(人事档案管理系统.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

人事档案管理系统.docx

1、人事档案管理系统一、设计内容与设计要求1 设计内容:人事档案管理系统设计涉及的知识点:掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句; 掌握数组的基本概念。熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。掌握结构的概念,结构类型的定义,结构变量的定义和初始化,结构成员的表示,结构的赋值含义,结构与指针、函数的关系。掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。2 设计要求:1)

2、 用C语言实现系统;利用结构体数组实现学生信息的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。2) 建立一个职工人事档案数据库,文件名为rsdak.txt,并从该文件中读取数据;3) 人事档案管理系统应能提供以下功能:系统以菜单方式工作职工信息显示功能;显示时按表格的形式,且应有表头。职工信息追加功能;追加一条新记录,并重新显示;职工信息查询功能a. 按职工号查询;b. 按姓名查询; c. 按基本工资查询; d. 按部门查询要求系统在上述查询方式中至少应有两种以上的查询方式,且能显示符合条件的所的记录。职工信息

3、的删除;要求可按指定职工号和指定姓名两种定位方式删除记录。职工信息的修改;要求能按职工号和按姓名两种定位方式进行修改,且可以按用户要求修改记录中除职工号和姓名以外的指定内容,并重新排序和显示;能按职工基本工资排序(降序)要求在删除模块、修改模块和查询模块中若找不到所需的记录时,系统设计中应有一定的提示信息。4) 说明:(1) 要求将修改后的数据写入到一个新的数据文件nwersk.txt中。(2) 对系统有兴趣的同学可以在实现基本要求的基础上,完善系统的其它功能。5) 人事档案管理系统采用一个结构体数组,数据库结构如下:int zgh /*职工号*/char name10 /*姓名*/char

4、xb4 /*性别*/int nl /*年龄*/ char xl 10; /*学历*/int gz /*工资*/char bm15 /*部门*/char zc10 /*职称*/注意:职工号不重复,且数据库应有10条或以上的记录。6) 要求:1 要求每个学生必须独立思考,认真并按时完成本课程设计所包含的所有内容;2 要求学生必须按照课程设计报告的完整格式说明设计内容,设计任务分析过程和算法,给出程序流程图和全部源程序;3 设计报告的完整格式应包括以下部分的内容:1 设计总体思路;2 程序及各个模块说明;3 总体模块框图;4 各个程序模块说明;5 程序流程图;6 程序清单;7 课程设计总结与体会(不

5、少于400字)。4 上机时要求必到,设计完成,必须演示程序,答辩并提交设计报告。二、进度安排第 18 周 星期五 8:0012:00 星期日 15:0018:00第 19 周 星期一 19:00 22:00星期三 8:0012:00 星期四 14:30 17:30附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、

6、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。目录1.系统功能 11.1系统需求分析 11.2系统功能总体设计 11.3输入输出功能 12概要设计 12.1抽象数据类型定义 12.2 系统模块组成及各模块的功能 23.详细设计 33.1 用C语言定义相关数据类型 33.2 各模块的类C码算法 33.3 函数的调用关系图 64.调试分析(应包括N-S图和截图) 74.1 显示模块 74.2 追加模块 84.3 修改模块 84.4 删除模块 104.5 查询模块 104.6 排序模块 115.总结 116.程序源代码 127参考文献 19计算

7、机与通信学院课程设计评分表 附录1.系统功能1.1系统需求分析店子计算机作为数据处理系统,已逐渐成为人事管理现代化的重要工具,在人事管理中正在发挥着重要的作用。在我国,已经开始运用电子计算机进行人员工资管理、人事统计和查询、干部考评和人事档案管理以及人才预测和规划等。因此,管理人力资源开发与利用的人事管理在整个复杂的管理大系统中的重要地位是不言而喻的。牵一发而动全身,抓好了人事管理就为其他管理的优化得到根本的保证。1.2系统功能总体设计该程序是对人事档案进行管理的系统,包括显示,追加,修改,删除,查询,排序和退出功能。输入每个人的信息并进行存储,存储后可以对每个人的信息进行查询。该系统还可以增

8、加,修改,删除,查询单个人的所有信息,并且可以显示所有人员的所有信息。1.3输入输出功能该系统可以根据输入的信息相应的输出相应的提示信息,提示使用者接下来应该输入的信息。2概要设计2.1抽象数据类型定义 人事档案数据结构: 人事档案 职工号姓名性别年龄学历工资部门职称2.2 系统模块组成及各模块的功能程序的模块组成:主函数void main();显示模块 void Disp();追加模块 void Appe();修改模块 void Modi();删除模块 void Dele();查询模块 void Query();排序模块 void Sort();退出模块 void Quit().各函数的主要

9、功能描述如下:void main():用于调用各个功能函数。void Disp():用于显示数据库中所有的信息,也即是每个职工的基本信息。void Appe():用于增加新职工的信息。void Modi():用于修改单个职工的信息,要求能够按职工号和姓名两种定位方式修改职工具体的信息,且可以按用户要求修改记录中除职工号和姓名以外的指定内容,并重新排序和显示;void Dele():用于删除单个职工的信息, 要求可按指定职工号和指定姓名两种定位方式删除记录。void Query()职工信息查询功能按职工号查询和按姓名查询,要求系统在上述查询方式查询,且能显示符合条件的所的记录。void Sort

10、():要求能按职工基本工资排序(降序)。void Quit():用于退出程序的操作。3.详细设计3.1 用C语言定义相关数据类型人事档案数据结构: struct stu long int zgh; char name10; char xb6; int nl; char xl10; int gz; char bm15; char zc10; ;3.2 各模块的类C码算法显示模块void Disp() for(int i=0;i人数;i+)printf(职工号,姓名,性别,年龄,学历,工资,部门,职称);追加模块void Appe() fopen(e:nwersk.txt,a);printf(请输

11、入职工号);scanf(输入职工号);printf(请输入姓名);scanf(输入姓名);printf(请输入性别);scanf(输入性别);printf(请输入年龄);scanf(输入年龄);printf(请输入学历);scanf(输入学历);printf(请输入工资);scanf(输入工资);printf(请输入部门);scanf(输入部门);printf(请输入职称);scanf(输入职称);i+;N+;修改模块void Modi() 寻找要修改的职工printf(职工号);printf(姓名);printf(按职工号或姓名寻找);选择的方式;if(选择职工号)printf(请输入要找职

12、工号);输入职工号;for(i=0;i人数;i+)if(找到该职工号)停止寻找;else if(选择姓名)printf(请输入姓名);输入姓名;for(i=0;i人数;i+)if(找到姓名)停止寻找;if(没有找到要找的人)printf(没有找到);else选择要修改的内容(职工号|姓名|性别|年龄|学历|工资|部门|职称);switch(m)case 1:printf(请输入修改后的职工号);scanf(输入新的职工号);停止;case 2:printf(请输入修改后的姓名);scanf(输入新的姓名);停止;case 3:printf(请输入修改后的性别);scanf(输入新的性别);停止

13、;case 4:printf(请输入修改后的年龄);scanf(输入新的年龄);停止;case 5:printf(请输入修改后的学历);scanf(输入新的学历);停止;case 6:printf(请输入修改后的工资);scanf(输入新的工资);停止;case 7:printf(请输入修改后的部门);scanf(输入新的部门);停止;case 8:printf(请输入修改后的职称);scanf(输入新的职称);停止;删除模块void Dele() 选择定位的方式(按职工号|姓名)if(按职工号)输入职工号;for(i=0;i人数;i+)if(找到该职工号)停止;if(找到该职工号)删除该职工

14、的所有信息;else printf(没有该职工);if(按姓名)输入姓名;for(i=0;i人数;i+)if(找到该职工)停止;if(找到该职工号)删除该职工的所有信息;else printf(没有找到);查询模块void Query( ) /* */选择查询的方式(职工号|姓名);if(按职工号)输入需查找的职工号;for(i=0;i人数;i+)if(找到该职工号)停止查找;if(找到该职工号)输出该职工号的职工的所有信息;else printf(没有找到);if(按姓名)输入需查找的姓名; for(i=0;i人数;i+)if(找到该姓名)停止查找;if(找到该姓名)输入该职工的所有信息;e

15、lse printf(没有找到);排序模块void Sort() for(i=0;i人数;i+)for(j=0;j=sj.工资)sN=si;si=sj;sj=sN; 退出模块void Quit() printf(谢谢使用); 3.3 函数的调用关系图main函数的下属子功能函数及其调用示意图:主函数主要由一个switch()开关语句构成,开关语句在一个无限循环体里,开关语句里的开关是调用主菜单显示函数的返回值。除最后一个语句是强制结束整个程序的语句外,其它case都是调用相应的函数,完成相应的功能。各调用情况如下: case 1:调用显示函数、case 2:调用追加函数、case 3:调用修改

16、函数、 case 4:调用删除函数 、 case 5:调用查询函数、 case 6:调用排序函数,主函数将保证每调用完一个函数之后又调用显示函数,然后按任意键又重新回到主菜单,以便用户进行下一次的操作。 4.调试分析(应包括N-S图和截图)主菜单截图如下:4.1 显示模块从主菜单中选择第一个选项后即可,截图如下:4.2 追加模块从主菜单中选择第二个选选项后即开始追加,追加过程中的截图如下:追加后显示内容如下:4.3 修改模块从主菜单中选择第三个选项后即开始修改程序,开始后首先选择你的定位方式(按职工号或按姓名),选择方式后即输入你要找的人的职工号或姓名,再选择要修改的具体内容,最后输入要修改的

17、新的信息即可。截图如下:修改后显示内容如下图:4.4 删除模块从主菜单中选择第四个选项即进入了删除模块,然后用职工号或姓名定位的方法选择要删除的内容即可。截图如下:4.5 查询模块从主菜单选择第五个选项进入,再选择按职工号或按姓名查询后显示要找的人的所有信息。截图如下:4.6 排序模块从主菜单选择第六个选项即出现按职工工资降序排列。截图如下:5.总结1. 经过这一个学期对C程序设计的学习,我们都学到了不少东西,可能有一些人学的不够理想,但无论如何,这些知识都为我们的下一步学习打下了坚实的基础。做这么一个课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和

18、运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。本程序是一个人事档案管理系统,也可以做为一个其它相关的人事信息备忘录,可以新建一个文本文档,用于存放学生信息,包括:职工号、姓名、性别、年龄、学历、工资、部门、职称。也可以打开一个已有的文本文档,可以查看其中的内容,并提供了按职工号、姓名查询的功能,方便查找。也可以向文档中添加、删除信息。2 . 课程设计题目:人事档案管理系统。要求:用结构体描述职工的:职工号、姓名、性别、年龄、学历、工资、部门、职称。自己动手建立文件nwersk .txt,其中有10个职工的职工号、姓名、性别、年龄、学历、工资、部门、职称。编写一个程序通过姓名

19、和学号分别查询职工的基本信息。说明一算法分析说明:由于我们已经学了链表的知识,用链表实现对多组信息的操作比较方便。已建好了人事档案文件的话,同过定义的load子函数把文件内容全部读入链表,剩下的所有操作就是对链表的操作了,象结点的删除,插入一个结点,查找一个结点都可以用链表一章的知识来完成。本程序要求的较简单,只是让从10个职工中查找,我们就可以用结构体数组来完成。二、阅读本程序应对结构体和链表的知识比较熟悉,首先应对本程序中的各个子函数的做用了解,上面的N-S图可以帮助理解程序。6.程序源代码#include stdio.h#include string.h#include conio.hi

20、nt N=0;struct stu long int zgh; /*职工号*/ char name10; /*姓名*/ char xb6; /*性别*/ int nl; /*年龄*/ char xl10; /*学历*/ int gz; /*工资*/ char bm15; /*部门*/ char zc10; /*职称*/ s40;void Re_file() FILE *fp; fp=fopen(e:rsdak.txt,r); while( fscanf(fp,%ldn%sn%sn%dn%sn%dn%sn%sn,&sN.zgh,sN.name,sN.xb,&sN.nl,sN.xl,&sN.gz,

21、sN.bm,sN.zc)!=EOF) N+; fclose(fp); void Wr_file()int i; FILE *fp; fp=fopen(e:nwersk.txt,w); for(i=0;iN;i+) fprintf(fp,%ldn%sn%sn%dn%sn%dn%sn%sn,si.zgh,si.name,si.xb,si.nl,si.xl,si.gz,si.bm,si.zc); fclose(fp);void Disp() /*显示模块*/int i;printf(*n);printf(zgh name xb nl xl gz bm zcn);printf(*n);for(i=0;

22、iN;i+)printf(n%2ld%10s%6s%6d%10s%9d%15s%10sn,si.zgh,si.name,si.xb,si.nl,si.xl,si.gz,si.bm,si.zc); void Appe() /*追加模块*/ fopen(e:nwersk.txt,a);int i=N;printf(nplease input new &si.zgh:);scanf(%d,&si.zgh);printf(nplease input new &si.name:);scanf(%s,&si.name);printf(nplease input new &si.xb:);scanf(%s,

23、&si.xb);printf(nplease input new &si.nl:);scanf(%d,&si.nl);printf(nplease input new &si.xl:);scanf(%s,&si.xl);printf(nplease input new &si.gz:);scanf(%d,&si.gz);printf(nplease input new &si.bm:);scanf(%s,&si.bm);printf(nplease input new &si.zc:);scanf(%s,&si.zc);i+;N+;void Modi() /*修改模块*/int i,m,a,b

24、;char c10;printf(nn);printf(*n);printf( 1.zghn);printf( 2.namen);printf(*n);printf(nninput your selection:);scanf(%d,&a);if(a=1)printf(please input zgh:);scanf(%d,&b);for(i=0;iN;i+)if(si.zgh=b)break;else if(a=2)printf(pleade input name:);scanf(%s,&c);for(i=0;i=N)printf(*n);printf(not foundn);printf(

25、*n);elseprintf(n);printf(*n);printf( 1.zgh 2.namen);printf( 3.xb 4.nln);printf( 5.xl 6.gzn);printf( 7.bm 8.zcn);printf(*n);printf(ninput your selection:);scanf(%d,&m);switch(m)case 1:printf(nplease input new &si.zgh:);scanf(%d,&si.zgh);break;case 2:printf(nplease input new &si.name:);scanf(%s,&si.na

26、me);break;case 3:printf(nplease input new &si.xb:);scanf(%s,&si.xb);break;case 4:printf(nplease input new &si.nl:);scanf(%d,&si.nl);break;case 5:printf(nplease input new &si.xl:);scanf(%s,&si.xl);break;case 6:printf(nplease input new &si.gz:);scanf(%d,&si.gz);break;case 7:printf(nplease input new &s

27、i.bm:);scanf(%s,&si.bm);break;case 8:printf(nplease input new &si.zc:);scanf(%s,&si.zc);break;printf(nnpress any key to continuen);void Dele() /*删除模块*/int i,j,a,zghs;char names10;printf(nn);printf(*n);printf(1.zghn);printf(2.namen);printf(*n);printf(please input your selection:);scanf(%d,&a);if(a=1)printf(nPlease input zgh:);scanf(%d,&zghs);for(i=0;iN;i+)if(si.zgh=zghs)break;if(si.zgh=zghs)for(j=i;jN-1;j+)s

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1