c++人事管理系统报告_第1页
c++人事管理系统报告_第2页
c++人事管理系统报告_第3页
c++人事管理系统报告_第4页
c++人事管理系统报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.课程设计报告课程名称 面向对象课程设计 设计题目 人事管理系统 专业班级 姓 名 学 号 指导教师 起止时间 2010年12月20日-12月31日 精品.成 绩 评 定考核内容设计表现设 计报 告答辩综合评定成 绩电气与信息学院精品.人事管理系统一、课程设计的目的现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的人事管理的形式和内涵都在发生着根本性的变化。在过去,一支笔和一张绘图桌,可能就是进行办公的全部工具。今天,电脑、扫描仪和打印机等,已基本取代了旧的办公用具。如今,人事管理己完全可以通过电脑进行,并在计算机辅助下准确快速地完成许多复杂的工作。这些都

2、大大地缩短管理的时间。而今天,人事管理的内容己经转变为对更为广泛的系统价值的追求。信息管理,如今已是一个热门话题,它已为许多企业所采用。我认为,在现代化的进程中,引入现代管理的思想,建立一套可面向企事业单位人事的信息管理系统,也是十分必要的二、课程设计的要求要求了解企业管理信息系统开发的全过程,理解信息系统课程相关的概念,掌握管理信息系统的开发方法。主要包括:登陆的两个用户:管理员、职工管理员:可以对职工信息进行添加信息、删除信息、查询员工信息、修改员工信息、浏览员工信息。用户:可以对自己的信息进行浏览、修改、查询;还可以对别人的信息进行查询,浏览。开发这个系统的目的就是帮助企业的人力资源部门

3、提高工作效率,实现企业人事信息管理的系统化,规范化和自动话。根据这个系统最终实现的主要功能如下:系统部分:主要完成本系统的维护工作。员工基本信息部分:主要完成员工基本信息的管理。本系统是个简单的程序,由于时间和技术有限,功能不是多完整,多具体,还请包涵。本系统的功能模块图如下:精品.人事管理系统添加职员删除职员查询员工修改信息信息浏览退出系统管理员登陆职工登陆查询员工修改信息信息浏览图1功能层次图精品.三、设计思路1 系统分析系统开发背景、开发范围、建设目标与必要性人事信息管理是一个单位信息管理的重要组成部分,它的内容对于一个单位的人事管理起着至关重要的作用。人事信息管理系统应该能够为管理者提

4、供充足的信息和快捷的查询手段,但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点。如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。根据以上情况,决定实施建立人事信息管理系统, 因为人事信息管理是一个企业单位不可缺少的部分

5、,它的内容对于企业的决策者和管理者来说都至关重要,所以人事信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算实现企业人事档案的管理势在必行。当前企业信息管理系统正在从us结构向b/s结构转移,但是由于安全性等方面的因素,c/s结构的管理信息系统仍然占据企业管理信息系统的主流。人事管理系统是现代企业管理工作不可缺少的一部分,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件。该系统主要从以下几个功能来实现的:新增:添加新员工的个人信息。修改:修改已有员工的个人信息。删除:删除已有员工的个人信息。查询:根

6、据条件查询员工的信息。显示所有:显示所有员工的信息。精品.四、系统流程图1.流程分析通过对职工管理管理业务的详细调查分析,弄清了职工管理工作的业务流程和管理功能,系统业务流程图如下: 本系统业务流程图:管理员:管理员修改员工信息删除员工信息员工信息修改员工信息更新插入员工信息图2业务流程图从该流程图可以看出职工管理系统主要有以下几项管理功能:1) 员工信息删除:在接到认识部门的员工离职报告后,被解雇或者辞职的员工信息将被管理员删除。2) 员工信息修改:在公司员工发生职位变化后,人事部门向系统管理者发出员工信息修改报告,管理员修改员工信息。3) 员工信息插入:当有新员工进入公司市,管理员在数据库

7、中插入新的员工信息。4) 信息查询:输入要查询的人姓名,很快就出现这个人的所有信息职员:精品.职员浏览员工信息浏览其他员工信息查询员工信息图3业务流程图从该流程图可以看出职工管理系统主要有以下几项管理功能:1) 员工信息浏览:员工可以自己浏览自己的信息,及时发现错误,及时修改个人的信息保证个人信息的准确性。2) 员工信息修改:这里是我个人加入一个比较人性化的设计,考虑到我做的只是一个小型的系统,没有什么隐私或者公司利益、个人利益的牵扯,所以员工也可以自行修改自己不正确的信息。3) 员工浏览别人的信息:我这个员工可以通过查找姓名看到别人的信息,可以方便员工要联系某人时不知道他的联系方式,当然必须

8、是熟悉你的人才可以看到你的信息,不会流露到公司外部,所以不牵扯隐私暴露问题。2.流程图确认对数据文件的任何修改自己保存获取指向数据流获取新的id值添加新记录,并保存更新记录把游标移到最后一记录结束开始图4 增加记录的流程图 精品.图5 删除记录的流程图开始结束删除记录是游标移到下一条记录记录内容为空更新表单游标在文件尾游标在文件头否是否游标移动到最后一条记录3数据字典为了对数据流程图中的各个元素作出详细的说明,建立数据字典是必要的。数据字典主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等六个方面进行具体的定义。数据流程图和数据字典一起使用,就可以从图形和文字两个方

9、面对系统的逻辑模型进行完整的描述。精品.五、类的层次图员工档案:员工基本信息(姓名,学历等)表1 员工基本信息字段名数据类型关键字段说明编号整型是员工姓名char否性别char否男、女职务char否出生年月日期/时间否身份证号char否家庭住址char否电话号char否六、系统功能模块图 1.系统主界面打开项目,编辑运行,进入主界面。如图6精品.图6登陆界面图 7管理员主界面2.增加界面打开系统主界面,点击新增按钮,进入增加员工信息界面。如图5精品.图8增加界面进入新增界面,添加职工信息。这样就写入文件中啦3.查询界面点击主界面中的查询按钮,进入查询职工信息界面。系统列出以下查询条件:如图9图

10、9查询界面输入要查询的员工的姓名,就会出现下面的内容:图10查询结果界面4.修改界面在你还想进行何种操作:输入3,修改查找人信息,先输入自己要修改人的姓名,然后直接写入自己要修改的内容就行啦,这里有点错误,因为能力有限,我没找出来。精品.图11修改界面这样就修改完了,我们可以通过显示查找人信息查找下,如图12图12修改成功界面由于上面的错误,导致里面的值会出现这样一种状况,我请教了同学没有人会,我能力有限时间有限就这样,希望你们谅解!精品.5.显示所有界面选择5.显示所有在厂员工,系统会显示所有员工的信息。如图13图13 显示界面6.删除界面选择你要进行的操作,输入4按回车,在输入要删除的人的

11、姓名,操作如图14、15图14删除界面精品.图15删除界面然后输入y就会删除员工信息,输入n放弃删除如图16图16删除界面七、关键程序代码/全部代码、界面及注释#include#include#include#include#include#includechar mima20,employname10;int sl,k=1,lenth=0;char name20;struct date int year;精品.int month;int day;struct inforchar name120; /姓名char sex13; /性别char zhiwu110; /职务char id120;

12、/身份证号char brithday112; /生日char address150; /家庭住址char tele120; /电话号码 char idemployee120; /工作编号char money15;inf100;void tiquxinxi() /提取信息char e;int i;int j;ifstream myfile(d:q.txt,ios:nocreate);for(i=0;i1000;i+)myfile.getline(1,11);if(strlen(1)2) break;for(j=1;j30;j+)if(1j=

13、) 1j=0;myfile.get(e);myfile.getline(infi.sex1,4);for(j=1;j30;j+)if(infi.sex1j= ) infi.sex1j=0;myfile.get(e);myfile.getline(infi.zhiwu1,11);for(j=1;j30;j+)if(infi.zhiwu1j= ) infi.zhiwu1j=0;myfile.get(e);myfile.getline(infi.idemployee1,6);for(j=1;j30;j+)if(infi.idemployee1j= ) infi.idemployee

14、1j=0;myfile.get(e);myfile.getline(infi.id1,21);for(j=1;j30;j+)if(infi.id1j= ) infi.id1j=0;myfile.get(e);精品.myfile.getline(infi.brithday1,11);myfile.get(e);myfile.getline(infi.address1,31);for(j=1;j30;j+)if(infi.address1j= ) infi.address1j=0;myfile.get(e);myfile.getline(infi.tele1,13);for(j=1;j30;j+)

15、if(infi.tele1j= ) infi.tele1j=0;myfile.get(e);myfile.getline(infi.money1,6);for(j=1;j30;j+)if(infi.money1j= ) infi.money1j=0;myfile.get(e);lenth=i;myfile.close();class people /人的类protected:char name20; /姓名char sex2; /性别char zhiwu10; /职务char id20; /身份证号date brithday; /生日char address50; /家庭住址char tele

16、20; /电话号码 char idemployee20; /工作编号double money;public:void input_inf() /输入信息函数ofstream outfile(d:q.txt,ios:in|ios:app); /建立并追加方式if(!outfile)cerropen error!endl;exit(1);coutname;outfilesetiosflags(ios:left)setw(10)name; /左对齐coutsex;精品.outfile setw(3)sex;coutzhiwu;outfile setw(10)zhiwu;coutidemployee;

17、outfile setw(5)idemployee;coutid;outfile setw(20)id;coutbrithday.yearbrithday.monthbrithday.day;outfile setw(4)brithday.year/setw(2)brithday.month/setw(2)brithday.day;coutaddress;outfile setw(30)address;couttele;outfile setw(12)tele;coutmoney;outfile setw(5)money;outfilen;outfile.close();void seach(

18、char name) /按姓名查找函数tiquxinxi(); for(int t=0;tlenth;t+)if(strcmp(name,1)=0) break;if(tlenth) coutname的信息如下:;coutn姓名:1;coutn性别:inft.sex1; coutn职务:inft.zhiwu1;coutn工作编号:inft.idemployee1; coutn身份证号码:inft.id1; coutn生日:inft.brithday1; coutn联系电话:inft.tele1; coutn地址:inft.address1; coutn工资:

19、inft.money1endl; /各项信息一一列出精品.else cout查无此人!n;void allprint() /显示全部信息函数tiquxinxi();ifstream myfile(d:q.txt,ios:nocreate);int i;char a120;for(i=0;ilenth;i+)myfile.getline(a,150);coutaendl;myfile.close();virtual void oneprint()=0; /显示一个人的信息 /纯虚函数virtualvoid change_infor()=0; /修改信息函数virtual void delet()

20、=0; /删除函数;class employee:public people public:void delet() /只是形式,整个程序不会用到此函数coutyou cannot delete information!n;void oneprint() /显示一个人的信息seach(employname);class guanliyuan:public peoplepublic:void change_infor() /管理员修改职员信息tiquxinxi();coutname;for(int i=0;i=lenth) cout查无此人!n;精品.else cout请重新输入信息:endl;

21、1;coutinfi.sex1;coutinfi.zhiwu1;coutinfi.idemployee1;coutinfi.id1;coutinfi.brithday1;coutinfi.address1;coutinfi.tele1;coutinfi.money1;ofstream outfile(d:q.txt,ios:in);if(!outfile)cerropen error!endl;exit(1);for(i=0;ilenth;i+)outfilesetiosflags(ios:left)setw(10)1;outfile setw(3)

22、infi.sex1;outfile setw(10)infi.zhiwu1;outfile setw(5)infi.idemployee1;outfile setw(20)infi.id1;outfile setw(10)infi.brithday1;outfile setw(30)infi.address1;outfile setw(12)infi.tele1;outfile setw(5)infi.money1;outfilen;outfile.close();void delet() /管理员删除职员信息精品.int j;char e;tiquxinxi();cout以下为name的信息

23、:n; seach(name);coute;if(e=y|e=y)for(int i=0;i1000;i+)if(strcmp(name,1)=0) break;j=i;ofstream outfile(d:q.txt,ios:trunc); /全清if(!outfile)cerropen error!endl;exit(1);for(i=0;ilenth;i+)if(i=j) continue;outfilesetiosflags(ios:left)setw(10)1;outfile setw(3)infi.sex1;outfile setw(10)inf

24、i.zhiwu1;outfile setw(5)infi.idemployee1;outfile setw(20)infi.id1;outfile setw(10)infi.brithday1;outfile setw(30)infi.address1;outfile setw(12)infi.tele1;outfile setw(5)infi.money1;outfilen;outfile.close();cout你已经成功删除name的信息endl;elsecout你已经放弃了删除该信息!n;void oneprint() /显示查找人信息coutname;seach(name);精品.;

25、void mune1()coutt*n;coutt*-*n;coutt* 1.输入个人的信息 *n;coutt* 2.显示个人信息 *n;coutt* 3.修改个人信息 *n;coutt* 4.查找他人信息 *n;coutt* 5.显示所有在厂职工 *n;coutt* 6.返回主菜单 *n;coutt* 0.退出 *n;coutt*-*n;coutt*n;void mune2()coutt*n;coutt*-*n;coutt* 1.输入职工的信息 *n;coutt* 2.显示查找人的信息 *n;coutt* 3.修改查找人信息 *n;coutt* 4.删除查找人信息 *n;coutt* 5.显

26、示所有在厂职工 *n;coutt* 6.返回主菜单 *n;coutt* 0.退出 *n;coutt*-*n;coutt*n;int queding() /确定管理员密码是否正确;ifstream myfile(d:mima.txt,ios:nocreate);myfile.getline(mima,20);myfile.close();int i=0;char aa10;cout请输入管理员密码:endl;while(1)aai = getch();if(aai = r)aai=0;break;精品.if(aai = b) coutb bflush;i-;else cout*flush;i+;

27、aai=0;if(strcmp(aa,mima)=0) return 1;else return 0;void select() /菜单管理及选择people *pt;employee em;guanliyuan guan;if(sl=1) pt=&guan;if(sl=2) pt=&em;coutch;switch(ch)case 0:cout你已经成功退出!谢谢使用!_input_inf();coutoneprint();coutchange_infor();cout你还想进行何种操作:;break;case 4:if(sl=1)coutname;tiquxinxi();for(int i

28、=0;i=lenth) coutdelet();cout你还想进行何种操作:;break;if(sl=2) coutname;pt-seach(name);coutallprint();cout你还想进行何种操作:;break;case 6:k=0;break;default:cout你的选择错误,请重新选择:;break;while(k);int main() /主函数及界面tiquxinxi();/coutlenth;b:coutnnn 公司人事管理系统 n;coutnnnnn;coutt*n;coutt* 请选择你的身份: *n;coutt*-*n;coutt* 1.管理员 *n;cou

29、tt* 2.普通职工 *n;coutt* 0.退出 *n;coutt*nnnn;docoutsl;switch(sl)case 0: cout你已经成功退出!谢谢使用!_n;exit(0); break;case 1: system(cls);switch(queding()case 0:cout你不能以管理员身份进入!n;break;case 1:cout操作成功!你已经以管理员身份成功进入!n;system(cls);mune2();select();break;break;case 2:coutemployname;system(cls);tiquxinxi();精品.for(int i=0;i=lenth) cout记录中暂无您的信息,请首先选择1来输入您的信息.n;mune1();select();break;default:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论