/*
*copyright(c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:text.cpp
*作者:闫舒
*完成日期:2016年6月9日
*版本号:Code::Blocks 12.11
*
*问题描述:实现Salary类中的成员函数,输入工资,再给每个人涨500元工资,排序后工资数据,然后输出结果。
*输入描述:输入几个初始工资,以输入小于等于0的数字为结束
*程序输出:输出以由多到少排序的增加后的工资。
*/
#include <iostream>
using namespace std;
class Salary
{
public:
void set_salarys( ); //输入工资
void add_salarys(int x); //涨工资
void sort_salarys(); //排序工资
void show_salarys( ); //显示工资
private:
double salarys[50]; //工资
int number; //实际人数
};
void Salary::set_salarys( ) //输入工资
{
int x,i=0;
cin>>x;
while(x>0)
{
salarys[i]=x; //工资保存到数组数据成员中
++i;
cin>>x;
}
number=i; //number是数据成员,记录下职工人数
}
void Salary::add_salarys(int x) //涨工资
{
int i;
for (i=0;i<number;i++)
salarys[i]+=x;
}
void Salary::sort_salarys() //排序工资
{
int i,j;
double t;
for (i=0;i<number-1;i++)
for(j=0;j<number-i-1;j++)
if (salarys[j]<salarys[j+1])
{
t=salarys[j];
salarys[j]=salarys[j+1];
salarys[j+1]=t;
}
}
void Salary::show_salarys( ) //显示
{
int i;
for (i=0;i<number;i++)
cout<<salarys[i]<<" ";
}
int main( )
{
Salary s; //定义对象
s.set_salarys( );
s.add_salarys(500);
s.sort_salarys();
s.show_salarys( );
return 0;
}
运行结果: