C++走向远洋——36(数组做数据成员,工资)

*/
 * Copyright (c) 2016,烟台大学计算机与控制工程学院
 * All rights reserved.
 * 文件名:salarly.cpp
 * 作者:常轩
 * 微信公众号:Worldhello
 * 完成日期:2016年4月20日
 * 版本号:V1.4
 * 问题描述:对数组内的工资进行一系列的操作
 * 程序输入:工资
 * 程序输出:见运行结果
 */
#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 x,i=0;  
      cin>>x;  
      while(x>0)  
	  {  
         salarys[i]=x;  
         ++i;  
         cin>>x;  
	  }  
      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;
	double t;
	for(i=number-2;i>=0;i--)
	{
		for(j=0;j<=i;j++)
		{
			if(salarys[j]>salarys[j+i])
			{
				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]<<endl;
	 }
}
int main()
{
	Salary w;
     w.set_salarys( );//输入职工工资(输入-1标志着工资输入结束),工资保存到salary数组中,实际人数保存到number中;
     w.add_salarys(400); //给每个人涨x元工资
     w.sort_salarys(); //对工资由大到小排序
     w.show_salarys( ); 
	 return 0;
}

运行结果:

心得:

       和以前对数组处理的操作差不多,只不过是语法方面有些不同

posted @ 2016-04-21 08:41  壹言  阅读(116)  评论(0编辑  收藏  举报