1、四类员工的信息存在四个对象数组中。要求通过本系统实现以下功能:1)完成添加员工的基本信息;2)根据员工编号计算、查询其工资情况;3)员工信息的显示;4)能够显示员工总人数。【实验步骤】1.定义类basic,属性包括员工姓名,工号,工龄。2.分别定义Manager,Worker,SalesManager,Sales四个类,将basic作为这四个类的基类,按照题目要求为其定义属性。Get_函数和display_函数,分别用来输入员工属性和显示员工信息。3.在类外定义shurugongren,shurujingli,shuruxiaoshou,shuruxiaoshouyuan这四个子函数,用来输入
2、并显示员工信息。4.在主函数中建立菜单,通过选择的方法调用子函数。【实验结果】1.进入主菜单,选择1进入“输入与查询基本信息”菜单,选择1进入“输入并查询经理基本信息”菜单,根据提示信息输入员工信息,并通过输入员工号来查询员工工资等信息2.“工人信息录入并查询”,“销售经理信息录入并查询”,“销售员信息录入并查询”与“经理信息录入并查询”原理类似,不一一演示,现在输入5,查询员工总数。3.选择2,退出公司管理系统。【总结】1.关于类与基类,主函数与子函数的调用有了更深刻的认识。2.设置静态变量,统计员工总数,对静态这一概念更加清晰。3.用到了指针的方法对对象进行动态调用,复习了指针的知识。4.
3、继承的方法,在不利用友元函数破坏其封装性的情况下,引用基类中的属性。5.体会到了c+与c语言的不同之处,语言的精简之处。【附录】#includestdlib.hstring.husing namespace std;class basicprotected: char name20; int number; int old;public: static int Count; Get_b() coutname;工号:number;工龄:old; Count+; int Num()return number;int basic:Count=0;class Manager:public basic
4、int zSalary,guSalary,tSalary; static int Count1; void Get_M()固定工资:guSalary; Count1+; void display_M() tSalary=50*old; zSalary=guSalary+tSalary;员工姓名:nameendl员工工龄:oldguSalary工龄工资:tSalary总工资:zSalaryendl;int Manager:Count1=0;class Worker: int zSalary,guSalary,hour,jSalary,tSalary; static int Count2; voi
5、d Get_W()工作时间:hour; Count2+; void display_W() jSalary=100*hour; zSalary=guSalary+jSalary+tSalary;hour计时工资:jSalaryint Worker:Count2=0;class SalesManager: double zSalary,guSalary,tSalary,xSalary,x; static int Count3; void Get_SM()销售额:x; Count3+; void display_SM() xSalary=0.05*x; zSalary=guSalary+tSala
6、ry+xSalary;x销售提成:xSalaryint SalesManager:Count3=0;class Sales: double zSalary,tSalary,xSalary,x; static int Count4; void Get_S() Count4+; void display_S() zSalary=tSalary+xSalary;int Sales:Count4=0;void shurujingli() Manager myManager10; Manager *myManage=myManager; cout请录入经理基本信息: for(;myManageGet_b
7、(); myManager-Get_M();是否继续?: 0:继续 1:停止 int a1;请输入 cina1; if(a1=1)break;经理有Manager:Count1Num() myManage-display_M();void shuruxiaoshou() SalesManager mySalesManager10; SalesManager *mySalesManage=mySalesManager;请录入销售经理基本信息:mySalesManage mySalesManage-Get_SM(); int a3;a3; if(a3=1)break;销售经理有SalesManag
8、er:Count3 mySalesManage-display_SM();void shurugongren() Worker myWorker10; Worker *myWorke=myWorker;请录入工人基本信息:myWorke myWorke-Get_W(); int a2;a2; if(a2=1)break;工人有Worker:Count2 myWorke-display_W();void shuruxiaoshouyuan() Sales mySales10; Sales *mySale=mySales;请录入销售员基本信息:mySale mySale-Get_S(); int
9、a4;a4; if(a4=1)break;销售员有Sales:Count4 mySale-display_S();void zongshu()员工总数为:basic:Count人int main() while(1) system(cls);*公司管理系统*n1.录入并查询员工基本信息2.退出系统请选择: int a;a; if(a=1) system(*输入与查询基本信息*n1.经理信息录入并查询2.销售经理信息录入并查询3.工人信息录入并查询4.销售员信息录入并查询5.统计员工总数 int b;b; if(b=1) system( coutf1; if(f1=0) system( if(f
10、1=1) exit(0); if(b=2)*销售经理基本信息输入并查询*n shuruxiaoshou(); int f2;f2; if(f2=0) if(f2=1) if(b=3)*工人基本信息输入并查询*n shurugongren(); int f3;f3; if(f3=0) if(f3=1) if(b=4)*销售员基本信息输入并查询*n shuruxiaoshouyuan(); int f4;f4; if(f4=0) if(f4=1) if(b=5) zongshu(); int f5;f5; if(f5=0) if(f5=1) else if(b!=1&b!=2&=3&=4&=5)错误 int f6;f6; if(f6=0) if(f6=1) if(a=2) exit(0); return 0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1