计算机软件技术基础实验报告班号:学号:姓名:设计说明员工具有一个成员函数来计算薪水ComputerPay()员工具有数据成员雇员号姓名银行账号从员工类派生三个类,经理,底薪职员,销售职员;分别实现派生类的构造函数、析构函数和其他方法经理的薪水是按月固定发放;底薪职员薪水是按工作小时数*每小时工资标准;销售职员的薪水是底薪+销售额提成30%;具体标准可自行定义;创建员工的指针数组,并初始化这些指针指向不同的派生对象,并通过对指针数组的循环遍历,来实现对各种对象的基本信息以及薪水的输出使用介绍打开程序后,选择运行文件,根据弹出屏幕的选择进行操作。有5个选择可供使用者选择。选择1,即计算原有员工工资选项后,需要再根据屏幕提示输入工作总时间,每小时工资和销售总金额,从而得到原有员工的工资。选择2,即从屏幕中读取员工信息并计算工资,需要根据屏幕选项选择员工类型。1为经理,2为底薪人员,3为销售人员,4为退出,当输入其他数字时则要求重新选择一次。选择经理填入信息中有是否设定工资的选项,选择是则自行输入工资,否则按默认工资8000处理。选4退出后回到主选择页面。选择3,即从文件中读取信息并计算工资。当三个操作都进行完时(或者进行其中的某一项或者两项后),可选择4将信息输出,信息输出按原有员工、输入员工、文件读入员工三部分来输出。选择5后退出整个程序。源代码一、主函数1、main.cpp//要加入头文件#include#include#includeusingnamespacestd;//指定命名空间//自己定义的类,使用时要加入头文件#include"Employee.h"#include"Manager.h"#include"Wage.h"#include"Csale.h"intmain(){//定义变量inti,c1,c2,x,c3;intj=0,h=0,k=0,a=1,b=1,y=0,m=0,n=0;floathrs,wg,sale;intnm=0,nw=0,ns=0;charname[30];longno;charbankno[30];CManagermanager[20];CWagewage[20];CSaleSale[20];CManagerfmanager[20];//文件输入部分变量CWagefwage[20];CSalefSale[20];charch[20];longno0;intl=0,s,t=0,l1=0,l2=0,l3=0,xf;floatsa0,hrs0,wg0;CEmployee*pfEmployee[60];CEmployee*pEmployeexin[60];//定义新加入人员的指针数组//原有人员信息CManageraManager("张三",100001,"A123456789");CWageaWage("李四",100002,"B123456789");CSaleaCSale("王五",100003,"C123456789");while(a==1){//选择执行项目cout<<"选择执行项目:"<>c1;if(c1==1)//计算原有员工薪水{//从屏幕读取数据cout<<"请输入数据,各个数据以回车为界"<>hrs;cout<<"每小时工资:";cin>>wg;cout<<"销售总金额:";cin>>sale;aWage.setHours(hrs);aWage.setWage(wg);aCSale.setHours(hrs);aCSale.setWage(wg);aCSale.setSale(sale);m=1;}if(c1==2)//输入新员工信息并计算工资{n=1;while(j<20&&h<20&&k<20&&b==1){cout<<"选择员工类型"<>c2;switch(c2){case1:{cout<<"请输入数据,各个数据以回车为界"<>name;cout<<"编号";cin>>no;cout<<"银行账号";cin>>bankno;//读入经理信息//存储经理信息manager[j].setName(name);manager[j].setbankNo(bankno);manager[j].setNo(no);//选择是否设定工资cout<<"是否设定工资?(默认为基本工资8000)"<>c3;if(c3==1)//设定经理工资{floatsalary;cout<<"设定工资";cin>>salary;manager[j].setSalary(salary);}if(c3==2)manager[j].setSalary(8000);cout<<"工资:";cout<>name;cout<<"编号";cin>>no;cout<<"银行账号";cin>>bankno;cout<<"工作总时间...