完善职工工资类Salary的设计

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)
    {
        int a[100]={1,2,3,4,5,6,7,8,9,10};
        this->Wage=f;
    }
    //
    void Salary::setRent(double f)
    {
        int b[200]={};
        this->Rent=f;
    }
    //定义计算工资
    double Salary::RealSalary()
    {
        int num=0;
        for(int i=10;i<300;i++){
            num+=i;
        }
        return this->Wage+this->Subsidy-this->Rent-this->WaterFee-this->ElecFee;
    }

 

posted @ 2021-06-02 13:21  小橙紫  阅读(235)  评论(0)    收藏  举报