上机考试题(1)定义职工工资类类型,其所包含的属性有:工号(num)、姓名(name)、基本工资(base_salary)、岗位工资(post_salary)、医疗住房基金(fund)、税金(tax)与实发工资(fact_salary)。其包含如下四个成员函数,分别用于:①输入全车间职工的工号、姓名、基本工资、岗位工资、医疗住房基金与税金。②计算每一个职工实发工资,计算公式:实发工资=基本工资+岗位工资-医疗住房基金-税金。③按实发工资降序排序。④输出全车间职工的工号、姓名、基本工资、岗位工资、医疗住房基金、税金与实发工资。在主函数中定义职工工资数组Salary1,调用四个函数完成输入、计算实发工资、排序、输出工作。实验数据:1001,张明,1200,1800,300,1001002,周明,1300,2000,310,1101003,李明,1400,2200,320,1201004,陈明,1500,2400,330,1301005,赵明,1600,2600,340,140课后习题(1)定义描述复数的类型类型Complex,编写加法成员函数Add()完成两个复数的加法运算。在主函数中定义复数类型变量sum与数组c[5]。用成员函数Input()给数组c的5个元素输入复数值,并调用Add()函数完成sum=c[0]+c[1]+c[2]+c[3]+c[4]的操作,最后利用成员函数display()输出数组c的5个复数值,及其复数sum的值。1.#includeiostream#includestringusingnamespacestd;classworker//声明worker类{public:voidinput_data();voiddeal_data();staticvoidsort_data(workerSalary1[5]);voidoutput_data();private:intnum;intbase_salary;intpost_salary;intfund;inttax;intfact_salary;stringname;};intmain(){inti;workerSalary1[5];for(i=0;i5;i++){Salary1[i].input_data();}for(i=0;i5;i++){Salary1[i].deal_data();}worker::sort_data(Salary1);for(i=0;i5;i++){Salary1[i].output_data();}return0;}voidworker::input_data()//输入全车间职工的工号、姓名、基本工资、岗位工资、医疗住房基金与税金。{cout请输入全车间职工的工号、姓名、基本工资、岗位工资、医疗住房基金与税金:endl;cinnumnamebase_salarypost_salaryfundtax;}voidworker::deal_data()//计算每一个职工实发工资{fact_salary=0;fact_salary=base_salary+post_salary-fund-tax;}voidworker::sort_data(workerSalary1[5])//按实发工资降序排序{inti,j;for(i=0;i5;i++){for(j=0;j5;j++){if((Salary1[j].fact_salary)(Salary1[j+1].fact_salary)){workertemp;temp=Salary1[j];Salary1[j]=Salary1[j+1];Salary1[j+1]=temp;}}}}voidworker::output_data()//输出全车间职工的工号、姓名、基本工资、岗位工资、医疗住房基金、税金与实发工资。{coutnum,name,base_salary,post_salary,fund,tax,fact_salaryendl;}1.#includeiostreamusingnamespacestd;classComplex//定义Complex类{public:Complex(){real=0;imag=0;}//定义构造函数Complex(doubler,doublei){real=r;imag=i;}//构造函数重载voidInput();//声明输入函数ComplexAdd(Complexc[],Complexsum);//声明复数相加函数voiddisplay();//声明输出函数private:doublereal;//实部doubleimag;//虚部};voidComplex::Input()//定义输入函数{cinrealimag;}ComplexComplex::Add(Complexc[],Complexsum)//定义复数相加函数{for(inti=0;i5;i++){sum.real+=c[i].real;sum.imag+=c[i].imag;}coutsum=sum.real,sum.imagi;returnsum;}voidComplex::display()//定义输出函数{Complexsum,c[5];cout=c[0]+c[1]+c[2]+c[3]+c[4];}intmain(){Complexsum,c[5],c_Input;cout请输入5个复数的元素值:endl;for(inti=0;i5;i++)c[i].Input();sum=c_Input.Add(c,sum);c_Input.display();return0;}