项目4--扩展1

/*
*程序的版权和版本声明部分:
*Copyright(c)2013,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:尚振伟
*完成日期:2014年3月18日
*版本号:v0.1
*对任务及求解方法的描述部分:
*输入描述:无
*问题描述:
*程序输入:
*程序输出:
*问题分析:
*算法设计:
*我的程序:
*/
#include <iostream>
#include <Cmath>
using namespace std;
class Salary
{
public:
    void set_salarys(int n);
    void add_salarys(double x);
    void sort_salarys();
    void show_salarys();
private:
    double *salarys;//保存工资
    int number;  //保存人数
};
void Salary::set_salarys(int n)
{
    double x;
    number=n;
    salarys=new double[n];
    cout<<"请输入每个人的工资:"<<endl;
    for(int i=0; i<number; i++)
    {
        cin>>x;
        salarys[i]=x;
    }
}
void Salary::add_salarys(double 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;
    int n;
    cout<<"请输入人数:";
    cin>>n;
    s.set_salarys(n);
    s.add_salarys(500);  //每人的工资增加500
    s.sort_salarys();
    cout<<"工资增加500后并按升序排列的结果为:"<<endl;
    s.show_salarys();
    return 0;
}


结果展示:

项目4--扩展1_第1张图片

心得体会:那个新开辟空间的程序还是不太懂。

你可能感兴趣的:(项目4--扩展1)