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

下载本文档

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

文档简介

1、公司人事管理系统专 业软件工程移动应用开发学生姓名郭迁迁班级学号指导教师完成日期 2014/6/201、功能图公司人事管理 系统输入账号密码 进入系统1、2、3、4、5、6、7、创显添删查修对建示加除找改员系所员员员员工统有工工工工月员信信信信薪工息息息息进信行息排8、数据存盘0、 退 出 系 统2、类图业务经理类技术经理类3、界面不同用户进入的选择界面老板进入的界面仆 UfeM /«闿 iflEi WU *!"| rwtl9taVhfl'St gwo# gr gsrsgVtpp g k 工Mt旭I”日UhQ5t Qg。rfk:用桁工营:恨*nils* 卜 M R+

2、-4 -1-2.411!-» jln, 一说事C* * 4 * *Nt# i 1ZMS6 卷科:12S456£ S.E3 K.HiSfi.iaia.HS.SSfiSiS.SS.SiE SiSg.aa£H11心a:11| | 二n n uai-swsuass.s2_sh h=ahn = m =h二=sues. |j |1.血建系优.中人加工小息11 7.k不用*廿工在息| I3-Sft nza *| I4.M 附:.iH 信息.| |亚亘曦员工值9|I I乱摩前的工信寻| |7,i: IHlfi F«Jr|I |孔安全退出总三员工进入的界面Imt/lQCB

3、lhgyt gwo# gz gsrsglu-cpp g kMt旭locmUhQ至t guolfW |i if! ip- -9 k ft n说昭- - - -L老相m r J 工-"- 00 .jJl出餐/也书*4*T1物事酒*录;出号:光三料:牙!而电为:j_ -? seae见母:1 K叫二空理.建情隶4、数据存储结构保存方式:采用二进制进行数据的保存结构:在每对员工的数据信息进行操作时,首先读取文件,然后进行下面增删 查改等相应的操作,在对相应操作后自动进行数据的存盘读取方式:读取链表,写入文件。5、总结和体会通过这一次C+课程设计,让我学到了很多,让我学到对一个大型系统的设 计不

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

5、ing namespace std;void Link();class Personprotected:char name10;/ 姓名char level20; 级别int NO;/ 编号int Flag;/ 标 t己public:Person *next;Person(char na10,char le20,int no,int F);Person()Person()virtual void Show()virtual double Wage()int Get_NO();char *Get_Name();char *Get_Level();int Get_Flag();int *Get_F

6、lag1();Person:Person(char na10,char le20,int no,int F)strcpy(name,na);strcpy(level,le);NO=no;Flag=F;int Person:Get_NO() return NO;)char *Person二Get_Name()(return name;)char *Person二Get_Level()(return level;)int Person二Get_Flag()(return Flag;)int *Person:Get_Flag1()(return &Flag;)class Manager:pu

7、blic Person经理 manager.(public:Manager(char na10,char le20,int no,int F):Person(na,le,no,F)Manager()double Wage();void Show();double Manager:Wage()return 5000;void Manager:Show()cout << "编号:"<< NO << "t" << " 级别:"<< level << "t&qu

8、ot; <<"名字:"<< name <<"t"<< "工资"<< Wage()<< endl;class Technical:public Person技术人员 technicalprivate:double number;代码量public:Technical(char na10,char le20,double dm,int no,int F);Technical()Technical()double Wage();void Show();Technical

9、:Technical(char na10,char le20,double dm,int no,int F):Person(na,le,no,F)number=dm;double Technical:Wage()return number*1000;void Technical:Show()cout << "编号:"<< NO << "t" << " 级别:"<< level << "t" <<"名字:"<

10、< name <<"t"<< "工资"<< Wage()<< endl;class Businesspublic Person业务人private:double sale,amount;/sale该业务人员当月销售额amount该业务员当月项目额public:Business(char na10,char le20,double sa,double am,int no,int F);Business()Business()double Wage();void Show();Business:Busin

11、ess(char na10,char le20,double sa,double am,int no,int F):Person(na,le,no,F)sale=sa;amount=am;double Business:Wage()return sale*1.5+amount*0.1;void Business:Show()cout << "编号:"<< NO << "t" << " 级别:"<< level << "t" <<&q

12、uot;名字:"<< name <<"t"<< "工资"<< Wage()<< endl;class Business_Manager:public Manager/ 业务经理 ( private:double MB_salay;double sale,amount;/sale业务经理总的月销售额amount业务经理总的项目额public:Business_Manager(char na10,char le20,double sa,double am,int no,int F);Bus

13、iness_Manager()Business_Manager()double Wage();void Show();Business_Manager:Business_Manager(char na10,char le20,double sa,double am,int no,int F):Manager(na,le,no,F)sale=sa;amount=am;double Business_Manager:Wage() return sale*1.5+amount*0.1+2000;void Business_Manager:Show()cout << "编号:&q

14、uot;<< NO << "t" << " 级别:"<< level << "t" <<"名字:"<< name <<"t"<< "工资"<< Wage()<< endl;class Secretary:public Person public:Secretary(char na10,char le20,int no,int F);Secreta

15、ry()double Wage();void Show();Secretary:Secretary(char na10,char le20,int no,int F):Person(na,le,no,F)()double Secretary:Wage()(return 1500;)void Secretary二Show()(cout << "编号:"<< NO << "t" << " 级别:"<< level << "t" <<&q

16、uot;名字:"<< name <<"t"<< "工资"<< Wage()<< endl;)class Boss老板(protected:Person *head;public:void creat();void Add_Information();/ 增添员工信息void Delete_Information();/ 删除员工信息void Show();/显示员工信息void Search_Information();/ 查找员工信息void Modify_Information()

17、;/ 修改员工信息void Sort();/对员工月薪进行排序void Staff();void menu();/ 菜单void Write_File();/ 写入文件void Read_File();/ 读文件);void Boss:menu()/ 菜单(cout <<"ttt="<< endl;cout <<"ttt|*公司人事管理系统 *|"<< endl;cout <<"ttt|=|"<< endl;cout <<"ttt|1.创建系

18、统,请输入员工信息| "<< endl;cout <<"ttt|2.显示所有员工信息|"<<endl;cout <<"ttt|3.添加员工信息|"<<endl;cout <<"ttt|4.删除员工信息|"<<endl;cout <<"ttt|5.查找员工信息|"<<endl;cout <<"ttt|6.修改员工信息|"<<endl;cout <<

19、;"ttt|7.对员工月薪排序|"<<endl;cout <<"ttt|0.安全退出系统|"<< endl;cout <<"ttt="<< endl;)void Boss:creat()/创建员工信息库(Person *p1,*p2;char na10;char le20;int no;double dm;double y,x;当月销售额,承接项目额int n;int F;head=new Person(na,le,no,F);p2=head;static int i=1;c

20、har ch;do(cout<<"*"<< endl;cout << ”|1-经理|2坡术人员|3-业务人员|4-业务经理|5-文秘|" << endl;cout<<*<< endl;cout << "请输入该职工的级别(选择相应序号即可):cin >> n ;no=i;编号if(n=1) (strcpy(le,"经理");cout << "请输入经理的名字:cin >> na;F=1;p1=new Man

21、ager(na,le,no,F);)else if(n=2)(strcpy(le,"技术人员");cout << "请输入技术人员的名字:"<< endl;cin >> na;cout << "请输入代码量(/千行):"<< endl;cin >> dm ;F=2;p1=new Technical (na,le,dm,no,F);)else if(n=3)(strcpy(le,"业务人员");cout << "请输入业务人

22、员的名字:"<< endl;cin >> na;cout << "请输入业务的当月销售额:"cin >> y;cout << "请输入项目额:"cin >> x;F=3;p1=new Business(na,le,y,x,no,F);)else if(n=4)(strcpy(le,"业务经理");cout << ”业务经理的名字:"cin >> na;cout << "请输入业务的当月销售额:&qu

23、ot;cin >> y;cout << "请输入项目额:"cin >> x;F=4;p1=new Business_Manager(na,le,y,x,no,F);)else if(n=5)(strcpy(le,"文秘");cout << "文秘的名字:"cin >> na;F=5;p1=new Secretary(na,le,no,F);)p2->next=p1;p2=p1;i+;cout << "输入(y / Y)继续:";cin &

24、gt;> ch;while(ch='y'|ch='Y');p2->next=NULL;void Boss:Show()/显示本月员工的信息(Person *p=head->next;if(p=NULL)(cout << "系统未存入任何人员信息,请存入信息后再进行操作!!” <<endl;exit ( -1 );while(p!=NULL)(p->Show();p=p->next;void Boss:Add_Information() 增添员工信息(char na10;char le20;int d

25、m;double y;double x;int no;char ch;int F;do(Person *p=head,*p1;while(p->next!=NULL)(p=p->next;<<int n; cout"*"<< endl;<<<< endl;cout << ”|1-经理|2坡术人员|3-业务人员|4-业务经理|5-文秘|" << endl;cout”*”cout << "tt请输入该职工的级别(选择相应序号即可):"cin >&g

26、t; n; switch(n) (case 1:strcpy(le,"经理");cout << "请输入经理的名字:"<< endl;cin >> na;cout << "请输入编号:"cin >> no;F=1;p1=new Manager(na,le,no,F);break;case 2:strcpy(le,"技术人员");cout << "请输入技术人员的名字:"<< endl;cin >> n

27、a;cout << "请输入代码量(千行):"<< endl;cin >> dm ;cout << "请输入编号:"cin >> no;F=2;p1=new Technical (na,le,dm,no,F);break;case 3:strcpy(le,"业务人员");cout << "请输入业务人员的名字:"<< endl;cin >> na;cout << "请输入业务的当月销售额:"

28、;cin >> y;cout << "请输入项目额:"cin >> x;cout << "请输入编号:"cin >> no;F=3;p1=new Business(na,le,y,x,no,F);break;case 4:strcpy(le,"业务经理");cout << ”业务经理的名字:"cin >> na;cout << "请输入业务经理的当月销售额:"cin >> y;cout <&l

29、t; "请输入项目额:"cin >> x;cout << "请输入编号:"cin >> no;F=4;p1=new Business_Manager(na,le,y,x,no,F);break;case 5:strcpy(le,"文秘");cout << "文秘的名字:"cin >> na;cout << "请输入编号:"cin >> no;F=5;p1=new Secretary(na,le,no,F);bre

30、ak;default:cout << "你的输入有误,请选择(15)进行输入! !p->next=p1;p1->next=NULL;cout << "Continue ? (y/n):" cin >> ch ;while(ch='y'|ch='Y');void Boss:Delete_Information()/ 删除指定员工信息 (Person *p1,*p2;int num;char na10;int n;char ch;do(int flag=0;cout << &q

31、uot;tttTipscout << "ttt|*输入1按编号删除信息 cout << "ttt|*输入2按姓名删除信息 cout << "ttt=:*="<< endl;|" << endl;|" << endl;="<< endl;cout << "ttt请输入删除的方式:";cin >> n;if(n=1)(cout << "请你输入你要删除员工的编号:"cin

32、 >> num;p1=head;while(p1->next!=NULL)(p2=p1;p1=p1->next;if(p1->Get_NO()=num) (p2->next=p1->next;flag=1;pl = NULL;delete p1;break;)else if(n=2)(cout« "请你输入你要删除员工的姓名:cin » na;p1=head;while(p1 ->next!=NULL) (p2=p1;p1=p1->next;if(strcmp(p1->Get_Name(),na)=0)

33、(p2->next=p1->next;p1 = NULL;delete p1;flag=1; break; ) else (cout« endl;cout« "输入的操作选项错误,请选择正确的命令进行操作»»»»"« endl;cout« endl;)if(flag=1)(cout« endl;cout« "»»> 删除成功 ««<" « endl;cout« endl;)

34、 else (cout« endl;cout « ">>>>>删除失败,可能未存入此员工信息。指令错误,请你核实后继续! ! ! ««<"« endl;cout« endl;)cout « "Continue ?" « "(y/n):"cin » ch ;while(ch='y'|ch='Y');Boss:Show();/调用函数显示结果)void Boss:Search_lnf

35、ormation()/ 查找信息char ch;do (Person *p1=head->next;int S_num;cout << "请输入你要查寻员工的编号:"cin >> S_num;while(p1!=NULL) (if(p1->Get_NO()=S_num)(cout << "该员工信息为:"<< endl;p1->Show();break;p1=p1->next;cout << "Continue?(Y/N):" ;cin >>

36、; ch;while(ch='Y'|ch='y');void Boss:Staff() 员工功能(cout << "请登录:"<<endl;Person *p1=head->next;if(p1=NULL) (cout << "系统未导入信息! ! "<<endl;int S_num;char name10;cout << "帐号:"cin >> name;while(p1!=NULL)(if(strcmp(p1->Ge

37、t_Name(),name)=0)(cout << "密码"cin >> S_num;if(p1->Get_NO()=S_num) (cout << "你的信息为:"<< endl;cout << endl;p1->Show();cout << "0.注销登录"<< endl;int n;cin >> n;if(n=0)(exit ( -1 );) else(cout << endl;<< endl;co

38、ut << "帐号密码不正确,请核实后重试! !!)p1=p1->next;)void Boss:Modify_Information() 修改指定员工的信息 (Person *p1=head->next,*p2=head,*p3=NULL;char na10;char le20;int dm;double y;double x;int no;int num;int F;cout << "请你输你要修改员工的编号:";cin >> num;int i=0;while(p1!=NULL) (if(p1->Get_

39、NO()=num) (int n;cout << "该员工彳言息为:"<< endl;p1->Show();cout << endl << endl;cout << "cout << endl;cout请输入新的员工级别:"<< endl;<<“*“<< endi;cout << "|1-经理|2坡术人员|3-业务人员|4-业务经理|5-文秘'|" <<endl;cout<<*

40、<< endl;cin >> n;switch(n)(case 1:strcpy(le,"经理");cout << "请输入经理的名字:cin >> na;cout << "请输入编号:"cin >> no;F=1;p3=new Manager(na,le,no,F);break; case 2:strcpy(le,"技术人员");cout << "请输入技术人员的名字:cin >> na;cout << &

41、quot;请输入彳t码量(千行):"cin >> dm ;cout << "请输入编号:"cin >> no;F=2;p3=new Technical (na,le,dm,no,F);break; case 3:strcpy(le,"业务人员");cout << "请输入业务人员的名字:"cin >> na;cout << "请输入业务的当月销售额:"cin >> y;cout << "请输入项目额:

42、"cin >> x;cout << "请输入编号:"cin >> no;F=3;p3=new Business(na,le,y,x,no,F);break;case 4:strcpy(le,"业务经理");cout << "业务经理白名字:"cin >> na;cout << "请输入业务经理的当月销售额:cin >> y;cout << "请输入项目额:"cin >> x;cout &l

43、t;< "请输入编号:"cin >> no;F=4;p3=new Business_Manager(na,le,y,x,no,F);break;case 5:strcpy(le,"文秘");cout << "文秘的名字:"cin >> na;cout << "请输入编号:"cin >> no;F=5;p3=new Secretary(na,le,no,F);break;default:cout << "你的输入有误,请选择(15

44、)进行输入! !";p3->next=p1->next;p2->next=p3;delete p1;i=1;p1=p1->next;p2=p2->next;if(i=0)cout << endl;cout << "&&&&&&&&无此员工信息, 请你核实后重试 &&&&&&&&&&"<< endl;cout << endl;void Boss:S

45、ort()/ 排序Person *p,*q,*min,*min1,*h,*newhead;newhead=new Person;h=newhead;while(head->next!=NULL)min1=p=head;min=q=head->next;while(q!=NULL)if(q->Wage() > min->Wage()min1=p;min=q;)q=q->next;p=p->next;)min1->next=min->next;min->next=NULL;h->next=min;h=min;)head=newhea

46、d;cout << "排序成功"<< endl;)void Boss:Write_File()Person *p=head->next;ofstream myfile("员工管理.txt");ofstream my("享K迁迁.txt");if(!my )cout<<"文件打开失败!"<<endl;exit(-1);) int n;doint size;n=p->Get_Flag();switch(n)case 1:size=sizeof(Manager)

47、;break;case 2:size=sizeof(Technical );break;case 3:size=sizeof(Business);break;case 4:size=sizeof(Business_Manager);break;case 5:size=sizeof(Secretary);break;)my.write(char *)(p->Get_Flag1(),sizeof(int);my(char *)p,size);p=p->next;while(p!=NULL);my();my.close();void Boss:Read_File()(Person *p1

48、,*p2;char na10;char jb20;int dm;double y;double x;int no;int num;int F;ifstream infile("员工管理.txt");ifstream in("享K迁迁.txt");if(!in)(cout << "tt系统为存入任何信息,请你创建系统后再进行相应操作!! " << endl;ofstream myfile("员工管理.txt");ofstream my("享K迁迁.txt");Link();

49、exit(-1);p1=new Person(na,jb,no,F);head=p1;int size;int i=0;do(if(i>0)(p1->next=p2;p1=p2;int n;in.read(char *)(&n),sizeof(int);switch(n)(case 1:size=sizeof(Manager(na,jb,no,F);p2=new Manager(na,jb,no,F);break;case 2:size=sizeof(Technical (na,jb,dm,no,F);p2=new Technical (na,jb,dm,no,F);bre

50、ak;case 3:size=sizeof(Business(na,jb,y,x,no,F);p2=new Business(na,jb,y,x,no,F);break;case 4:size=sizeof(Business_Manager(na,jb,y,x,no,F);p2=new Business_Manager(na,jb,y,x,no,F);break;case 5:size=sizeof(Secretary(na,jb,no,F);p2=new Secretary(na,jb,no,F);break; ) +i;while(in(char *)p2,size);p2->nex

51、t=NULL;in.close();in(); bool Account。/ 帐号char z7;ifstream ifile("Account.txt",ios:out);i(z,7);i();int flag=1;while(flag)char zh7;cout << "帐号:"cin.getline(zh,7);int a;if(strcmp(z,zh)=0) flag=0;return true;bool Password() 密码char mm7;ifstream ifile("Password.txt",ios二out);i(mm,7);i();char m7;int flag=0;while(1)cout << "密码:"cin >> m;if(strcmp(mm,m)=0)(return tr

温馨提示

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

评论

0/150

提交评论