公司人事管理系统代码和文档_第1页
公司人事管理系统代码和文档_第2页
公司人事管理系统代码和文档_第3页
公司人事管理系统代码和文档_第4页
公司人事管理系统代码和文档_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、公司人事管理系统专 业软件工程移动应用开发学生姓名郭迁迁班 级学 号指导教师2014/6/20完成日期1、功能图公司人事管理 系统输入账号密码 进入系统2、类图3、界面不同用户进入的选择界面仆 T A U兀8 4HMI MW *IU老板进入的界面老板进入的界面rootlocalhost guo)# IsAccount.txt gsrsgl.cpp gsrsgl.cpp* k Password.txt 便用说明txt 使用说明txt rootlocalhost guo-# g+ gsrsgl cpp o k(rootlocal.host guo)# ./k - ft 月 0 兑 用板工出 :使老

2、fflil请选挣你的进入彳伪:|员工进入的界面g+rootlocalhost guoj# /krootlocalhost guoj# /k请选库你的遴入身份:2用板工岀 使老aifi 9 12 0 请登录:嵌号:张三密码1你的備息为:Iff 50003H弓:1级别:经理名字:张三注第E兼4、数据存储结构读取文件信息进行相应的操退出系统写入文件作保存方式:采用二进制进行数据的保存结构:在每对员工的数据信息进行操作时,首先读取文件,然后进行下面增删 査改等相应的操作,在对相应操作后自动进行数据的存盘读取方式:读取链表,写入文件。5、总结和体会通过这一次C+课程设计,让我学到了很多,让我学到对一个大

3、型系统的设 计不止是对代码的实现,要有一个洞察全局的心,就是先想好,有一个大致的 规划,然后再去用代码实现非常容易,如果不想好就会写代码,那么会遇到很 多问题,有时会使所做的功夫白费,所以提前想好是非常重要的。在写公司人事管理系统时我遇到了很多问题,例如对文件的添加,使自己没 有一点办法,在老师的耐心讲解下,终于完成了文件的添加,使自己对于文件 有了新的认识,老师为我们讲解了类的实现,使自己有了新的理解,还让我体 会到了交流的重要性,我虽然是社团的人员,但是很少和别人交流。我要学会 去和别人交流想法。代码如下:#include #include using namespace std;void

4、 Liiik();class Personprotected:char naine10/ 姓名chai- level20;/ 级别 mtNO;/编号 mt Flag;/标记public:Person *next;Person(char na10,char le20,mt no.iiit F);Person() PersonQviitual void Show()viitual double WageQ mt Get_NOQ;chai *Get_Naine();chai *Get_Level();mt GecFlagQ;int *Get_Flagl();;Person:Person(char n

5、a10,char le2O,iiit no,mt F) sticpv(name4ia);sticpv(levelje);NO=no;Flag=F;mt Person:Get_NO()retuin NO;char *Person: GeCNameQretuin name;char *Person: :Get_LevelQreturn level;mt Person:Get_FlagQreturn Flag;mt *Person: Get_Flag 1Qreturn &Flag;class Manager:public P亡【son/经理 manager.public:Maiiager(chai-

6、 na10,char le20,mt no,mt F):Person(na Je.no,F)Maiiager()double Wage();void Show();double Manager: :Wage()return 5000;void Manager: :ShowQcout ”编号:nNO ntH ”级别:” level ”名字:,naine tn 工资H Wage() endl;class Teclmicakpublic P亡【son/技术人员 tecluucalprivate:double numbei;/代码量public:Tecluiical(char na10.chai- l

7、e20.double dmjnt F);TeclinicalQTechnical()double Wage();void Show();Teclinical:Teclmical(char na10,chai- le20.double dmjnt no,int F):Peison(naJejio.F)numbei-dm;double Teclinical:Wage()return number* 1000;void Teclinical:ShowQcout ”编号:n NO ntH ”级别:” level HtH ”名字:,naine Mtn ”工资H Wage() endl;cl

8、ass Business:public P亡【soil/业务丿、private:double sale,ainount;/sale该业务人员当月销售额amount该业务员当月项目额public:Business(chai- na10,char le20.double sa,double amiiit noint F);Business()Eusiness0double Wage();void Show();Business:Busmess(char na10,char le20,double sajouble anoint noiiit F):Person(naJe.no.F)sale=sa;

9、amount=am;double Busmess: :Wage()return sale* 1.5+amount*0.1;void Busmess:ShowQcout ”编号:H NO ntH ”级别:” level ” ”名字:nnaine 工资H Wage() endl;class Busmess_Maiiager:public Manager/业务经理private:double NIB_salay;double sale,ainount;/sale业务经理总的月销仔额amount业务经理总的项目额 public:Business_Maiiager(char na 10,char 1 亡

10、20,double sa.double anoint nojnt F);Business_Maiiagei()Busiiiess_Maiiager() double Wage();void Show();Busiiiess_Maiiager:Busmess_Manager(cliar na105chai- le20,double sa.double am,iiit noint F):Manager(naJe,no.F)sale=sa;amount=am:double Busmess_Manager:Wage()return sale* 1.5+amount*0.1+2000;void Busm

11、ess_Manager: Show()cout ”编号:H NO ntH ”级别:” level ”next=pl;p2=pl;i+;cout ”输入(y/Y)继续J;ciii ch;wliile(ch=y|ch=fY,);p2-next=NULL;void Boss:ShowQ/显示本月员工的信息Person *p=head亡xt;if(p=NULL)cout ”系统未存入任何人员信息,请存入信息后再进行操作!,f endl; exit(-l);wliile(p!=NULL)p-Show();p=p-next;void Boss:Add_Infonnation()/增添员工信息chaina1

12、0;char le20;int dm;double y;double x;int no;char ch;int F;doPerson *p=head,*pl;while(p-next! =NULL)p=p-next;mt n;cout endl;”*”cout next=pl; pl-next=NULL; cout “Continue ? (v/n):,f; cin ch; wlule(ch=y | ch=fY,);void Boss:Delete_Infonnation()/W除指定员工信息 Person *pl,*p2;mt num;chaina10;iiit n;chai ch;doin

13、t flag=O;cout nttt=Tips=H endl; cout ttt|*输入 1 按编号删除信息*| endl; cout ttt|*输入 2 按姓名删除信息*| endl; cout nttt=n endl; cout ttt请输入删除的方式:; cin n;cout ”请你输入你要删除员工的编号:”; cin num;pl=head;xvhile(p 1 -next?=NULL)P2=pl; pl=pl-next;if(p 1 -Get_NO()=num) p2-next=p 1 -next; flag=l;pl =NULL; delete pl;break:else if(n

14、=2)corn -请你输入你要删除员工的姓名:”;cin na;pl=head;while(p 1 -next!=NULL)P2=pl;pl=pl-next;if(strcmp(p 1 -Get_NameQ,na)=O)p2-next=p !-next;pl =NULL;delete pl;flag=l;break;elsecout endl;cout ”输入的操作选项错误,请选择正确的命令进行操作 endl;cout endl;if(flag=l)cout endl;cout H删除成J删除失败,可能未存入此员工信息or指令错误,请你核实后继续! ! !endl;cout endl;cout

15、 Continue ?n ,(y/n):n ;ciii ch;wliile(ch=y|ch=fY,);Boss:Show()y/调用函数显示结果void Boss:Seaich_Iiiformation()/查找信息chai- ch;doPerson *pl=head-next;int S_num;cout ”请输入你要查寻员工的编号:”; ciii S_num;wlule(pl?=NULL)if(p 1 -Get_NO()=S_num)cout 该员工信息为:H endl: pl-Show();break;pl=pl-next;coutnContinue?(Y./N):M ;ciii ch;

16、wliile(ch=rY,|ch=y);void Boss二Staff。/员工功能cout ”请登录:vnext;if(plNULL)cout ”系统未导入信息! !int S_num;char nam亡10;cout号:“;cin name;wlule(pl?=NULL)if(strcmp(p 1 -GeCName(),name)=0)cout ”密码”;ciii S_mun;if(p 1 -Get_NO()=S_num)cout ”你的信息为:H endl:cout endl;pl-Show();cout ”0注销登录endl;iiit n;cin n;if(n=0)exit ( -1 )

17、;elsecout endl;M endl;cout ”帐号密码不正确,请核实后重试! !! pl=pl-next;void Boss二Modify_Infomation()/修改扌旨定员工的信息Person *p 1 =head-next,*p2=head.*p3=NULL; chaina10;char le20;int dm;double y;double x;int no;int num;int F;cout ”请你输你要修改员工的编号:“;cin num;mt i=0;wlule(pl?=NULL)if(p 1 -Get_NO()=num)iiit n;cout 该员工信息为: end

18、l; pl-ShowQ;cout endl endl;请输入新的员工级别:-endl;cout H cout endl; endl;|5-文秘 |H endl;cout*” cout “111-经理|2-技术人员|3-业务人员|4-业务经理 endl;cout ”*“ ciii n;switch(n)case ksticpyOe;1 经理”);cout ”请输入经理的名字:”;ciii na;coutif输入编号:;ciii no;F=l;p3=newMaiiager(na,lejio.F);break;case 2:strcpy(le,技术人员”);cout iW输入技术人员的名字:;cii

19、i11a;cout 请输入代码量(T行):;ciii dm;cout if输入编号:;ciii no;F=2;p3=new Technical (na.le,dm,no.F);break;case 3:strcpy(le,业务人员”);cout 请输入业务人员的名字:;ciii na;cout -请输入业务的当月销售额:”;ciii y;cout IW输入项目额:”;ciii x;coutif输入编号:;ciii no;F=3;p3=newBusiiiess(naJe,yx,no,F);bieak;case 4:strcpy(le,li 业务经理”);cout 业务经理的名字:”;ciii n

20、a;cout -请输入业务经理的当月销售额:”;ciii y;cout输入项目额:H;ciii x;cout 请输入编号:;ciii no;F=4;p3=newBusmess_Maiiagei(naJe,y,x,no.F);break:case 5:sticpy(le,n文秘”);cout *文秘的名字:”;cin na;cout 请输入编号:”;cin no;F=5;p3=new Secietaiy(na,le,no,F);bieak;defaultxout 的输入有误,请选择(15)进行输入! ”;p3-next=p 1 -next;p2-next=p3;delete pl;1=1;pl=

21、pl-next;p2=p2-next;if(i=0)cout endl;cout ”&无此员T?信息,请你核实后重试&M endl; cout endl;void Boss:Sort()排序Person *p,*q,*niin.*nunh*h5*newhead;newhead=new Person;h=newhead;wliile(head-next! =NULL)niuil=p=head;niui=q=head-next;wlule(q!=NULL)if(q-WageQ niiii-Wage()minl=p;min=q;q=q-next; p=p-next;niui 1 -next=nun-

22、next; niui-next=NULL; h-next=inni;h=niui;head=newhead; cout ,f排序成功endl;void Boss:Write_File()Person *p=head亡xt;ofstieam myfile (员工管理ofstieam my(” 郭迁迁txL); if(!myfile|!my)cout-文件打开失败!Hendl; exit(-l);int n;doint size;n=p-GeCFlag();switch(n)case 1 :size=sizeof(Manager);break;case 2: size=sizeof(Techiuc

23、al );break;case 3:size=sizeof(Business);break;case 4:size=sizeof(Business_Manager);break; case 5:size=sizeof(Secretai-y);bieak;my.wnte(chai *)(p-Get_Flag 1 ()、sizeof(int); myfile.write(char *)p.size);p=p-next;while(p!=NULL);myfile.close();my.closeQ;void Boss:Read_File()Person *pl/p2; chaina10; chaij

24、b2O;mt dm;double y;double x;iiit no;mt num;mt F;lfstream员工管理txL);lfstream in(” 郭迁迁.txt11);cout tt系统为存入任何信息,请你创建系统后再进行相应操作! ! ! ” endl; ofstieam myfile (员工管理txf);ofstream my(” 郭迁迁LinkQ;exit(-l);pl=new Person(najb,no,F); head=pl;mt size;mt i=0;doi 坦 0)pl-next=p2; pl=p2;mt n;m.iead(char *)(&n),sizeof(m

25、t); switch(n)case 1: size=sizeof(Managei(najb.no,F); p2=new Manager(na,jb,no,F);break;case 2:size=sizeof(Techmcal (najb.dmjio.F); p2=new Teclmical (na J b, diibno, F); bi e ak;case 3:size=sizeof(Business(najb,y,x,no,F); p2=new Busmess(na,jb,y,xjio,F);break;case 4:size=sizeof(Business_Manager(naJb,y,

26、x,no,F); p2=new Busmess_Manager(najb,y,x,no.F);break: case 5:size=sizeof(Secretaiy(naJbjio.F); p2=new Secretaiy(najb,no.F);break:+i;while(mfile.read(char *)p2,size);p2-next=NULL;m.close(); uifile.closeQ; bool Account()/ 帐号char z7;lfstream ifile(nAccount.txfios: :out);lfile.getlme(zj);ifile.close();m

27、t flag=l;while(flag)cliar zh7;cout n帐号:ciii.getline(zhj);int a;if(strcmp(z,zh)=O)flag=0:return true;bool PassxvoidQ/ 密码charlfstream ifiPasswoid.txfiosout);lfile getline (mm, 7 );ifile.close();char m7;mt flag=0;wlule(l)cout 密码:”; cin m;if(strcmp(nuiLm)=O)return tme; break;else+flag; if(flag2)return false;void InstnictionsQchar ariy1000;ifstieam 使用说明.txtH,ios:out);ifile.getlme(anyl 000);ifile.close();cout endl;cout ttt欢迎人家阅读使用说明 endl endl;cout any

温馨提示

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

评论

0/150

提交评论