OJ2965 Problem A 完善职工工资类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

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

}

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值