第八周【项目1 - 数组作数据成员1】

下面是设计好的一个工资类(Salary):
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;  //实际人数 
};  

  (1)实现Salary类中的成员函数,在main函数定义Salary类的对象,输入工资,再给每个人涨500元工资,排序后工资数据,然后输出结果。

/*Copyright (c)2016,烟台大学计算机与控制工程学院
02.02.*All rights reserved.
03.03.*文件名称:main.cpp
04.04.*作    者:张珩瑞
05.05.*完成日期:2016年4月21日
06.06.*版 本 号:v1.0
07.07.*
08.08.*问题描述: 工资增加与排序
09.09. 输入描述: 工资和增加的工资数
10.10.*输出描述: 排序后的工资
11.*/

#include <iostream>
using namespace std;
class Salary
{
public:
    void set_salarys();
    void add_salarys(int x);
    void sort_salarys();
    void show_salarys();
private:
    double salary[50];
    int number;
};
void Salary:: set_salarys()
{
    int i,number=0,a;
    for(i=0;i<50;i++)
    {
        cin>>salary[i];
        number=number+1;
        if(salary[i]==-1)
        {
            a=i;
            break;
        }
    }
}
void Salary::add_salarys(int x)
{
    int i,a;
    for(i=0;i<50;i++)
    {
        if(salary[i]==-1)
        {
            a=i;
        }
    }
    for(i=0;i<a;i++)
    {
        if(salary[i]==-1)
        {
            break;
        }
        salary[i]=salary[i]+x;
    }

}
void Salary::sort_salarys()
{
    int i,j,t,a;
    for(i=0;i<50;i++)
    {
        if(salary[i]==-1)
        {
            a=i;
        }
    }
    for(i=0;i<a-1;i++)
    {
        for(j=0;j<a-i-1;j++)
        {
            if(salary[j]>salary[j+1])
            {
                t=salary[j];
                salary[j]=salary[j+1];
                salary[j+1]=t;
            }
        }
    }
}
void Salary::show_salarys()
{
    int i,a;
    for(i=0;i<50;i++)
    {
        if(salary[i]==-1)
        {
            a=i;
        }
    }
    for(i=0;i<a;i++)
    {
        cout<<salary[i]<<endl;
    }
}

int main()
{
    Salary s;
    int x;
    cout<<"请输入要增加的工资数:"<<endl;
    cin>>x;    cout<<"请输入工资:(以-1结束输入)"<<endl;
    s.set_salarys();
    s.add_salarys(x);
    s.sort_salarys();
    cout<<"排序后的工资为:"<<endl;
    s.show_salarys();
    return 0;
}


第八周【项目1 - 数组作数据成员1】_第1张图片

你可能感兴趣的:(编程,C++)