问题及代码:
/*计算机与控制工程学院,
文件名称:数组做数据成员之工资类
完成日期:2016年4月17日
作者:马艳艳
问题描述:输入工资数进行涨工资后排序输出
输入描述:工资数
输出描述:排序后输出
*/
#include <iostream>
using namespace std;
class Salary
{
public:
void set_salarys();//输入职工工资(输入-1标志着工资输入结束),工资保存到salary数组中,实际人数保存到number中;
void add_salarys(int x);//给每个人涨工资x元;
void sort_salarys();//对工资由大到小排序;
void show_salarys();//显示工资信息;
private:
double salarys[50];//多人的工资;
int number;//实际人数;
};
void Salary::set_salarys()
{
int s,i=0;
cin>>s;
while(s>0)
{
salarys[++i]=s;
cin>>s;
}
number=i;
}
void Salary::add_salarys(int x)
{
int i;
for(i=0;i<number;i++)
{
salarys[i]+=x;
}
}
void Salary::sort_salarys()
{
int i,j;
int t;
for(i=0;i<number-1;i++)
{
for(j=0;j<number-i-1;j++)
{
if(salarys[i]>salarys[i+1])
{
t=salarys[i];
salarys[i]=salarys[i+1];
salarys[i+1]=t;
}
}
}
}
void Salary::show_salarys()
{
int i;
for(i=0;i<number;i++)
{
cout<<salarys[i]<<endl;
}
}
int main()
{
Salary s;
cout<<"输入职工工资:"<<endl;
s.set_salarys();
s.add_salarys(500);
s.sort_salarys();
cout<<"显示工资信息:"<<endl;
s.show_salarys();
return 0;
}
运行结果:
知识点总结:
进行输入职工工资的时候不太熟练。