第二次 实验
代码
#include <iostream>
#include <string>
#define Author JokerNoCry
#define Date 2020/4/13
using namespace std;
class Salary
{
private:
double wage, subsidy, rent, waterfee, elecfee;
public:
Salary(double WAGE, double SUBSIDY, double RENT, double WATERFEE, double ELECFEE)
{
wage = WAGE;
subsidy = SUBSIDY;
rent = RENT;
waterfee = WATERFEE;
elecfee = ELECFEE;
}
Salary()
{
wage = subsidy = rent = waterfee = elecfee = 0;
}
void setwage(double f) { wage = f; }
void setsubsidy(double f) { subsidy = f; }
void setrent(double f) { rent = f; }
void setwaterfee(double f) { waterfee = f; }
void setelecfee(double f) { elecfee = f; }
double getwage() { return wage; }
double getsubsidy() { return subsidy; }
double getrent() { return rent; }
double getwaterfee() { return waterfee; }
double getelecfee() { return elecfee; }
double RealSalary() { return wage + subsidy - rent - waterfee - elecfee; }
};
class Worker
{
private:
string name, age, dept;
public:
Salary salary;
static int count;
Worker() { count++; }
void setname(string NAME) { name = NAME; }
void setage(string AGE) { age = AGE; }
void setdept(string DEPT) { dept = DEPT; }
string getname() { return name; }
string getage() { return age; }
string getdept() { return dept; }
};
int Worker::count;
int main()
{
char flag = 'Y';
string Name, Age, Dept;
double Wage, Subsidy, Rent, Waterfee, Elecfee;
while (flag == 'Y' || flag == 'y')
{
Worker worker;
cout << "请输入工人姓名:"; cin >> Name; worker.setname(Name);
cout << "请输入工人年龄:"; cin >> Age; worker.setage(Age);
cout << "请输入工人部门:"; cin >> Dept; worker.setdept(Dept);
cout << "请输入工人基本工资:"; cin >> Wage; worker.salary.setwage(Wage);
cout << "请输入工人岗位津贴:"; cin >> Subsidy; worker.salary.setsubsidy(Subsidy);
cout << "请输入工人房租:"; cin >> Rent; worker.salary.setrent(Rent);
cout << "请输入工人水费:"; cin >> Waterfee; worker.salary.setwaterfee(Waterfee);
cout << "请输入工人电费:"; cin >> Elecfee; worker.salary.setelecfee(Elecfee);
cout << "↓↓↓↓这是第" << worker.count << "个工人的信息↓↓↓↓" << endl;
cout << "姓 名:" << worker.getname() << endl;
cout << "年 龄:" << worker.getage() << endl;
cout << "部 门:" << worker.getdept() << endl;
cout << "基本工资:" << worker.salary.getwage() << endl;
cout << "岗位津贴:" << worker.salary.getsubsidy() << endl;
cout << "房 租:" << worker.salary.getrent() << endl;
cout << "水 费:" << worker.salary.getwaterfee() << endl;
cout << "电 费:" << worker.salary.getelecfee() << endl;
cout << "实际工资:" << worker.salary.RealSalary() << endl;
cout << "是否继续输入(Y/N)?" << endl;
cin >> flag;
}
return 0;
}