【任务4】阅读教材P255例8.4,注意到类中的数据成员可以是数组。设计一个工资类(Salary),其中的数据成员有:double型数组salary[50](实际人数可以少于50,固定取50可能造成空间浪费),整型值number表示的职工人数。在main函数中调用你自己设计好的成员函数完成下面的功能:(1)输入职工工资,工资保存到salary数组中,实际人数保存到number中(输入-1标志着工资输入结束);(2)给每个人涨100元工资;(3)对涨后的工资进行排序;(4)输出排序后的工资。
程序
#include<iostream>
using namespace std;
class Salary
{
public:
void input_salary();
void add_salary();
void sort_salary();
private:
double salary[50];
int number;
};
int main()
{
Salary ss;
ss.input_salary();
cout<<endl;
cout<<"加100元后的工资为:";
cout<<endl;
ss.add_salary();
cout<<endl;
cout<<"排序后工资为:";
cout<<endl;
ss.sort_salary();
cout<<endl;
system("PAUSE");
return 0;
}
void Salary::input_salary()
{
double x;
int i=0;
cout<<"请输入员工的工资: (输入‘-1’标志着工资输入结束)"<<endl;
cin>>x;
while(x>0)
{
salary[i]=x;
++i;
cin>>x;
}
number=i;
}
void Salary::add_salary()
{
int i;
for (i=0;i<number;i++)
{
salary[i]=salary[i]+100;
cout<<salary[i]<<" ";
}
}
void Salary::sort_salary()
{
int i,j;
double t;
for(i=0;i<number-1;i++)
for(j=0;j<number-i-1;j++)
if(salary[j]>salary[j+1])
{
t=salary[j];
salary[j]=salary[j+1];
salary[j+1]=t;
}
for (i=0;i<number;i++)
{
cout<<salary[i]<<" ";
}
}
悟: 其实没有什么难不难,也没有什么会不会;只有你做不做!