公司人事管理系统 1人力资源人事档案_人力资源-人事档案.pdf
软件学院 课程设计报告 设计名称:C+课程设计 选题名称:人事管理系统 姓名:学号:1515 专业班级:系(院):设计时间:设计地点:1 需求分析 需求概述 设计一个公司人事管理系统,该系统主要实现了对老板和普通员工(游客)不同的操作。老板身份的功能:增加职员信息 显示职员信息 删除职员信息 保存职员信息 读取职员信息 修改职员信息 排序职员信息 统计员工信息 查找员工信息 退出系统 普通员工的功能(1)显示职员信息(2)公司职员状况 查找职员信息 退出系统 需求说明(1 随着现代社会的发展,公司的人员信息资料变化较大。在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低,工作量较大。与此相对应的信息登记电子化则很好的解决此问题。故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月。(2 本系统能记录常见的姓名,性别,编号,职务,月薪等基本工资。对于录入的人员的信息都能用文件保存起来,并且可以任意对其进行删除,浏览,修改,增加等常见操作。(3 显示所有人员信息有一定规范的格式,以便老板以及其他员工的查看,分析等应用。析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意(4 该管理系统是以大菜单下细分小菜单的方式进行工作,为不同用户提供清晰且不同菜单功能的使用提示,依据不同用户的不同选择进行不同操作任意切换 总体设计 功能模块图 该系统按功能模块划分如下:功能描述 公司人事管理系统 统计员排序职修改职读取职修改职保存职员信息 删除职员信息 显示职员信息 增加 职员信息 修改姓修改工查找职公司职老板 普通员工 查找员退出统计员按照员工按照员工析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意(1)身份选择模块是公司人事管理系统的入口,是用来完成用户操作命令的接口,用户可以根据提示进入不同的身份的功能界面,进而实现不同用户的不同需求(2)进入公司人员管理界面开始选择功能,如果系统读取到之前的保存的信息可以增删查改等常见功能,如没有则可初始化人员,然后进行相应操作。(3)对人员信息的查询可以运用独一无二的编号快速查找职工。(4)在删除商品信息模块中仅允许老板身份人员对职员信息进行删除操作(5)修改职员信息中老板可以根据需要对某些职员进行提拔,调整工资等功能。(6)在统计职员信息功能中,统计出当前所有职员的一些信息。如男女职员的数目,某一职务的人数,所有职员数目等等功能。(7)在普通职员身份仅仅能查看公司特定信息,任何具有修改信息的功能模块,考虑到安全性均不能实现。数据结构 在公司人事管理系统中主要的数据结构是职员的信息,包含职员姓名,职员性别,职员编号,职员工资,职员职务,等在处理过程中可以作为一个员工的不同类别进行处理,其中员工类别包括文书类,技术人员类,技术经理类,业务员类,业务员经理类等等。用户可以根据菜单提示对信息进行不同处理 系统流程图 老板功能流程图 开始 析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 否 否 否 否 是 员工功能流程图 是 否 是 否 是 否 功能选择 增加职工否 删除职工否 查询职工否 修改职工否 退出老板身份否 结束 开始 功能选择 显示所有职工信息 查看公司信息 查询员工信息 退出员工身份 执行完毕 析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 否 是 3 详细设计 类的设计 在;人事管理系统中共设计了六个类,分别是:文书(employee)类,销售员(salesman)类,销售经理(SalesManager)类,技术员(Technical)类,技术经理(TechnicalManager)类,老板(boss)类,employee 类作为基类,其他类均由 employee 类派生。(1)文书(employee)类 class employee/普通职工 protected:char name20;/姓名 int number;/编号 char level20;/职务 char sex;/性别 float salary;/工资 int flage;/标记 public:employee(char nam20,char lev20,int nu,char se,int fla);employee()void show();float Salary();char*GetName();/提取姓名函数 int GetEmpNo();/提取编号 char*Level();/提取级别 char Sex();/提取性别 int GetFla();friend class boss;employee*next;退出 析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意(2)经理(Manager)类 class Manager:public employee/经理 public:Manager(char nam20,char lev20,int nu,char se,int fla);void pay();void show();Manager:Manager(char nam20,char lev20,int nu,char se,int fla):employee(nam,lev,nu,se,fla)salary=5000;flage=fla;(3)销售员(salesman)类 class salesman:public employee/销售员 protected:float sale_num;/销售额 float sale_object;/项目额 float sale_numRate;/销售额提成率 float sale_objectRate;/项目额提成率 public:salesman()salesman(char nam20,char lev20,int nu,char se,int fla,float s_n,float s_ob);void show();salesman:salesman(char nam20,char lev20,int nu,char se,int fla,float s_n,float s_ob):employee(nam,lev,nu,se,fla)flage=fla;/标记 sale_num=s_n;sale_object=s_ob;sale_numRate=;sale_objectRate=;salary=sale_objectRate*sale_object+sale_num*sale_numRate;(4)销售经理(SalesManage)类 class SalesManager:public Manager public:SalesManager(char nam20,char lev20,int nu,char se,int fla,float s_n,float s_ob);void show();protected:析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 float sale_num;/销售额 float sale_object;/项目额 ;SalesManager:SalesManager(char nam20,char lev20,int nu,char se,int fla,float s_n,float s_ob):Manager(nam,lev,nu,se,fla)strcpy(name,nam);/姓名 strcpy(level,lev);/等级 number=nu;/编号 sex=se;/性别 flage=fla;sale_num=s_n;sale_object=s_ob;salary=salary+(sale_object+sale_num)*;技术人员(Technical)类 class Technical:public employee protected:float code_num;float code_price;public:Technical(char nam20,char lev20,int nu,char se,int fla,float C_n);Technical:Technical(char nam20,char lev20,int nu,char se,int fla,float C_n)strcpy(name,nam);/姓名 strcpy(level,lev);/等级 number=nu;/编号 sex=se;/性别 flage=fla;code_price=1000;salary=C_n*code_price;技术经理(TechnicalManager)类 class TechnicalManager:public Technical public:TechnicalManager(char nam20,char lev20,int nu,char se,int fla,float bon);protected:float bonus;TechnicalManager:TechnicalManager(char nam20,char lev20,int nu,char se,int fla,float bon):Technical(nam,lev,nu,se,fla,1)析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 strcpy(name,nam);/姓名 strcpy(level,lev);/等级 number=nu;/编号 sex=se;/性别 flage=fla;salary=5000;bonus=bon;salary=salary+bonus;老板(boss)类 class boss public:void creat_head();/增 void creat();void delete_inf();/删 void seach();void show();void sort();void read_file();/读文件 int write_file();/写入文件*/void modify();void count();protected:employee*head;画出类图 析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 4 编 码 头文件#include#include#include#include#include#include int n=1515900;using namespace std;/姓名,编号,级别,低薪,工资总额 void Register();void Login();void Correct();光标位置函数 extern void gotoxy(int x,int y)COORD pos=x,y;HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(hOut,pos);class employee/普通职工 protected:char name20;/姓名 int number;/编号 char level20;/*如果用 string 类型 文件读到职位这个数据时 会出现错误或者乱码,若是改成 char level20,文件的读写能实现但是会有警告。*/char sex;/性别 float salary;/工资 int flage;/标记 public:employee(char nam20,char lev20,int nu,char se,int fla);employee()void show();float Salary();char*GetName();/提取姓名函数 Employee Salesman SalesManager 析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 int GetEmpNo();/提取编号 char*Level();/提取级别 char Sex();/提取性别 int GetFla();friend class boss;employee*next;void employee:show()coutnamettnumberttlevelttsexttsalarynext;if(p1!=NULL)min_salary=p1-Salary();析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 while(p1!=NULL)ALL_Salary=p1-Salary()+ALL_Salary;all_num+;if(p1-Sex()=119)SEX_W_num+;else SEX_M_num+;if(p1-Salary()max_salary)max_salary =p1-Salary();if(p1-Salary()Salary();if(p1-GetFla()=1)employee_num+;else if(p1-GetFla()=2)salesman_num+;else if(p1-GetFla()=3)SalesManager_num+;else if(p1-GetFla()=4)Technical_num+;else if(p1-GetFla()=5)TechnicalManager_num+;p=p1;p1=p1-next;p1=head-next;if(p1!=NULL)coutttt公司职员信息endl;coutendl;coutttt职员一共:all_num人!endl;coutttt其中男生人数:SEX_M_num 女生人数:SEX_W_numendl;coutttt公司文书人数为:employee_numendl;coutttt销售人员人数为:salesman_numendl;coutttt销售经理人数为:SalesManager_numendl;coutttt技术人员人数为:Technical_numendl;coutttt技术经理人数为:TechnicalManager_numendl;coutttt公司的人均月薪为:ALL_Salary/all_numendl;coutttt最高工资:max_salaryendl;coutttt最低工资:min_salaryendlendl;else 析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 coutttt员工信息暂时未统计endl;coutttt是否离开本界面?y/nchoice;if(choice=y)break;修改函数 void boss:modify()/修改作用 system(cls);while(true)int i=0;employee*p=head;employee*p1=head-next;char No;char name220,name120;/姓名 int number;/编号 char leve20;/等级 char sex;/性别 float salary;/工资 system(cls);coutttt 请输入修改的类型endl;coutttt1 姓名 endl;coutttt2 等级 endl;coutttt3 工资 No;switch(No)case1:coutttt请输入编号:number;coutttt输入修改后的姓名:name1;while(p1!=NULL)if(p1-GetEmpNo()=number)strcpy(p1-name,name1);i=1;析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 p1=p1-next;break;case2:coutttt输入调整人员编号:number;coutttt输入调整岗位(文书,技术工,业务员,业务经理):leve;while(p1!=NULL)if(p1-GetEmpNo()=number)i=1;strcpy(p1-level,leve);p1=p1-next;break;case3:coutttt输入调整编号:number;coutttt修改后的薪水 :salary;while(p1!=NULL)if(p1-GetEmpNo()=number)i=1;p1-salary=salary;p1=p1-next;break;default:cout 无此选项endl;break;if(i=0)coutttt无此人员,请核对后再调整信息!endl;if(i=1)coutttt修改成功!endl;coutttt是否退出 y/nchoice;析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 if(choice=y)break;排序函数 void boss:sort()system(cls);employee*p,*min,*p_min,*first=NULL,*tail;employee*p1=head-next;while(p1!=NULL)for(min=p1,p=p1;p-next!=NULL;p=p-next)if(p-next-Salary()Salary()p_min=p;min=p-next;if(first=NULL)first=min;tail=min;else tail-next=min;tail=min;if(p1=min)p1=p1-next;else p_min-next=min-next;if(first!=NULL)tail-next=NULL;析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 head-next=first;show();保存函数 int boss:write_file()if(head-next=NULL)cout 空信息,请添加后保存next;ofstream myfile();ofstream number();if(!myfile|!number)cout 文件打开失败!GetFla();switch(l)case 1:size=sizeof(employee);break;case 2:size=sizeof(salesman);break;case 3:size=sizeof(SalesManager);break;case 4:size=sizeof(Technical);break;case 5:size=sizeof(TechnicalManager);break;(char*)&l,sizeof(int);(char*)p,size);p=p-next;while(p!=NULL);();();coutttt员工信息更新成功!next;coutttt请输入要删除员工的编号:num;while(p1!=NULL)if(p1-GetEmpNo()=num)p-next=p1-next;delete p1;coutttt该员工已删除next;if(p1=NULL)coutttt无编号为num 的员工!next;coutttt请输入要查找员工的编号number;system(cls);while(p1!=NULL)if(p1-GetEmpNo()=number)cout 姓名 tt 编号 tt 职务ttt 性别 tt 工资 show();p1=head-next;break;析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 p=p1;p1=p1-next;if(p1=NULL)coutttt查无此人endl;system(PAUSE);读取函数 void boss:read_file()employee*p1,*p2;char name20;/姓名 int number;/编号 char level20;/等级 char sex;/性别 float salary;/工资 int flage;float x,y;ifstream infile();ifstream in();if(!infile|!in)cout 尚未存入信息,请创建后再进行操作。endl;p1=new employee(name,level,number,sex,flage);head=p1;int size;int i=0;do cout*0)p1-next=p2;p1=p2;int flage;(char*)(&flage),sizeof(int);switch(flage)case 1:size=sizeof(employee(name,level,number,sex,flage);p2=new employee(name,level,number,sex,1);析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 break;case 2:size=sizeof(salesman(name,level,number,sex,flage,x,y);p2=new salesman(name,level,number,sex,2,x,y);break;case 3:size=sizeof(SalesManager(name,level,number,sex,flage,x,y);p2=new SalesManager(name,level,number,sex,3,y,x);break;case 4:size=sizeof(Technical(name,level,number,sex,flage,x);p2=new Technical(name,level,number,sex,4,y);break;case 5:size=sizeof(TechnicalManager(name,level,number,sex,flage,x);p2=new TechnicalManager(name,level,number,sex,5,y);break;+i;while(char*)p2,size);();();创建空头函数 void boss:creat_head()head=new employee;head-next=NULL;添加职员函数 void boss:creat()while(true)system(cls);ifstream w(,ios:binary);(char*)&n,sizeof(int);();employee*p1,*p2;p1=head;int i=0;while(p1-next!=NULL)p1=p1-next;char type;char name20;char lev20;char sex;析需求概述设计一个公司人事管理系统该系统主要实现了对老板和普通员工游客不同的操作老板身份的功能增加职员信息显示职员信息删除职员信息保存职员信息读取职员信息修改职员信息排序职员信息统计员工信息查找员工信息人员信息资料变化较大在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大与此相对应的信息登记电子化则很好的解决此问题故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月本系统能记录常见的姓名性常见操作显示所有人员信息有一定规范的格式以便老板以及其他员工的查看分析等应用该管理系统是以大菜单下细分小菜单的方式进行工作为不同用户提供清晰且不同菜单功能的使用提示依据不同用户的不同选择进行不同操作任意 coutttt请输入你所建立的信息:endl;couttt1 公司文书 2 销售人员 3 销售经理 4 技术人员 5 技术经理type;system(cls);float sale_num,sale_object;switch(type)case 1:coutttt输入姓名:name;coutttt输入性别:sex;strcpy(lev,公司文书);p2=new employee(name,lev,n+,sex,1);break;case 2:coutttt输入姓名:name;coutttt输入性别:sex;coutttt请输入销售额:sale_num;coutttt请输入项目额:sale_object;strcpy(lev,销售人员);p2=new salesman(name,lev,n+,sex,2,sale_num,sale_object);break;case 3:coutttt输入姓名:name;coutttt输入性别:sex;coutttt请输入销售提成:sale_object;strcpy(lev,销售经理);p2=new SalesManager(name,lev,n+,sex,3,sale_num,sale_object);break;case 4:coutttt输入姓名:name;coutttt输入性别:sex;coutttt请输入代码数(千行):sale_num;strcpy(lev,技术人员);p2=new Technical(name,lev,n+,sex,4,sale_num);break;case 5:coutttt输入姓名:name;coutttt输入性别:sex;coutttt输入提成:sale_num;strcpy(lev,技术经理);p2=new TechnicalManager(name,lev,n+,sex,5,sale_num);break;/default:coutttt无此选项!next=NULL;p1-next=p2;ofstream q(,ios:binary);if(q=NULL)cout errorendl;(char*)&n,sizeof(int);();write_file();coutttt是否继续添加信息 y/n?type;system(cls);if(type=110)break;void fun(employee*ptr)p