定义描述职工工资的类Laborwage,数据成员包括职工号(No)、姓名(Name)、应发工资(Tsalary)、社保金(Sfund)、实发工资(Rsalary)。定义公有成员函数input,在input函数内输入职工号、姓名、应发工资、社保金,实发工资。根据公式:实发工资=应发工资-社保金计算。定义输出职工工资的函数show,在show函数中,职工号、姓名输出域宽为8、左对齐,其余数据的输出域宽为10、右对齐、保留小数点后两位,输出格式均为预定义格式控制函数设置。在主函数中,用Laborwage类定义职工对象数组a[3],用input输入职工工资,使用show函数显示每个职工的工资。
#include <iostream>
#include<iomanip>
using namespace std;
class Laborwage
{
public:
void input()
{
cin>>No;
cin>>Name;
cin>>Tsalary;
cin>>Sfund;
Rsalary=Tsalary-Sfund;
}
void show()
{
cout<<resetiosflags(ios::right)<<setw(8)<<setiosflags(ios::left)<<No;
cout<<setw(8)<<setiosflags(ios::left)<<Name;
cout<<setw(10)<<setiosflags(ios::right)<<setiosflags(ios::fixed)<<setprecision(2)<<Tsalary;
cout<<setw(10)<<setiosflags(ios::right)<<setiosflags(ios::fixed)<<setprecision(2)<<Sfund;
cout<<setw(10)<<setiosflags(ios::right)<<setiosflags(ios::fixed)<<setprecision(2)<<Rsalary<<endl;
}
private:
int No;
string Name;
float Tsalary;
float Sfund;
float Rsalary;
};
int main()
{
Laborwage a[3];
for(int i=0;i<3;i++)
{
cout<<"请输入第"<<i+1<<"个员工的信息为:"<<endl;
a[i].input();
}
for(int i=0;i<3;i++)
{
a[i].show();
}
return 0;
}