C++ OJ习题练习(六)完善职工工资类Salary的设计

it2023-07-19  64

Problem Description

某单位的职工工资包括基本工资Wage,岗位工资Subsidy,房租Rent,水费WaterFee,电费ElecFee。设计实现工资管理的类Salary,该类的形式如下:

class Salary{ private:double Wage,Subsidy,Rent,WaterFee,ElecFee; public: Salary(……){初始化工资数据的各项}; Salary(){初始化工资的各分项数据为0}void setXX(double f){xx=f;}; double getXX(){return xx;}; double RealSalary();//计算实发工资 ……}; 成员函数setXX()用于设置工资的各分项数据,成员函数getXX()用于获取工资的各分项数据,XX代表Wage,Subsidy等数据成员,如Wage对应的成员函数则为setWage()getWage()。 实发工资=Wage+Subsidy-Rent-WaterFee-ElecFee 程序如下,请完成类Salary的设计。程序如下: #include <iostream> using namespace std; class Salary{ private: double Wage,Subsidy,Rent,WaterFee,ElecFee; public: Salary(double i1,double i2=0,double i3=0,double i4=0,double i5=0){//以实际参数初始化工资数据的各分项 Wage=i1; Subsidy=i2; Rent=i3; WaterFee=i4; ElecFee=i5; } Salary(){//初始化工资的各分项数据为0 Wage=Subsidy=Rent=WaterFee=ElecFee=0; } void setWage(double f); double getWage(); void setSubsidy(double f){Subsidy=f;} double getSubsidy(){return Subsidy;} void setRent(double f); double getRent(); void setWaterFee(double f){WaterFee=f;} double getWaterFee(){return WaterFee;} void setElecFee(double f){ElecFee=f;} double getElecFee(){return ElecFee;} double RealSalary();//计算实发工资 void display(){//显示信息 cout<<"Wage="<<Wage<<"\t\tSubsidy="<<Subsidy<<endl; cout<<"Rent="<<Rent<<"\t\tWaterFee="<<WaterFee<<"\t\tElecFee="<<ElecFee<<endl; cout<<"实发工资为:"<<RealSalary()<<endl<<endl; } }; //你的代码将被嵌在这里 int main() { Salary s1(1000,800,200,30,50); Salary s2; s2.setWage(3000); s2.setRent(100); cout<<"s1:"<<endl; s1.display(); cout<<"s2:"<<endl; s2.display(); return 0; }

Input Description

Sample Output

s1: Wage=1000 Subsidy=800 Rent=200 WaterFee=30 ElecFee=50 实发工资为:1520 s2: Wage=3000 Subsidy=0 Rent=100 WaterFee=0 ElecFee=0 实发工资为:2900

解题代码

void Salary::setWage(double f){Wage = f;}; void Salary::setRent(double f){Rent = f;} double Salary::RealSalary(){return Wage + Subsidy - Rent - WaterFee - ElecFee;}
最新回复(0)