现在的位置: 首页 > 综合 > 正文

第四周任务四(工资类(Salary))

2014年03月09日 ⁄ 综合 ⁄ 共 1193字 ⁄ 字号 评论关闭
/** (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称: 工资类(Salary)
* 作 者: 冯珍珍
* 完成日期: 2012年 3月 16日
* 版 本 号:
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:设计一个工资类(Salary),其中的数据成员有:double型数组salary[50](实际人数可以少于50,固定取50可能造成空间浪费),整型值number表示的职工人数。在main函数中调用你自己设计好的成员函数完成下面的功能:(1)输入职工工资,工资保存到salary数组中,实际人数保存到number中(输入-1标志着工资输入结束);(2)给每个人涨100元工资;(3)对涨后的工资进行排序;(4)输出排序后的工资。 
* 程序输出: 
* 程序头部的注释结束*/
#include<iostream>
using namespace std;
class salary      //声明salary类
{
public:
 void set_salary();
 void add_salary(int x);
 void sort_salary();
 void show_salary();
 static int number;  //记录人数
private:
 double salarys[50];

};

int salary::number = 0;//对类中成员赋初值
void salary::set_salary()
{
 int i=0,x;
 cout<<" 请输入工资数:"<<endl;
 cin>>x; 
 while (x>0)
 {
	 salarys[i]=x;
	 i++;
	 cin>>x;
 }
	 number=i;

 


}

void salary::add_salary(int x)
{
 int i;
 for(i=0;i<number;i++)
 {
  salarys[i]+=x;
 }
}


void salary::sort_salary()
{
 int t;
 for(int i=0;i<number;i++)
 for(int j=0;j<number-1-i;j++)
  {
   if(salarys[j]<salarys[j+1])
   {
    t=salarys[j];  
    salarys[j]=salarys[j+1];  
    salarys[j+1]=t; 
   }
  }
}

 
void salary::show_salary()
{
   for(int i=0;i<=number-1;i++)
   {
     cout<<"salarys :"<<salarys[i]<<endl;
   }
}
int main()
{
    salary s;    
    s.set_salary();    //输入值   
	s.add_salary(100);  //涨工资  
    s.sort_salary();    //排序
	cout<<"增加工资后由高到低的排序为:"<<endl;
    s.show_salary( );   //输出结果   
    system("PAUSE");  
    return 0;  
}

 

抱歉!评论已关闭.