/*
*程序的版权和版本声明部分:
*Copyright(c)2014,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:田成琳
*完成日期:2014 年 3月 18 日
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述: 工资
*问题描述:输入工资,进行运算
*程序输出:工资
*问题分析:
*算法设计:
*/
#include<iostream>
using namespace std;
class Salary
{
public:
void set_salarys(int);
void add_salarys(double);
void sort_salarys();
void show_salarys( );
private:
int number;
double *salarys;
};
int main()
{
Salary money;
double x;
int num;
cout<<"请输入员工人数:"<<endl;
cin>>num;
cout<<"请输入员工工资:"<<endl;
money.set_salarys(num);
cout<<"请输入增加的工资:"<<endl;
cin>>x;
money.add_salarys(x);
cout<<"根据工资排序为:"<<endl;
money.sort_salarys();
money.show_salarys();
return 0;
}
void Salary::set_salarys(int num)
{
number=num;
double *salary=new double[number];
salarys=salary; //此处非常重要!!!是把新建的salary的动态地址给salarys
for(int i=0;i<number;i++)
{
cin>>*(salarys+i);
}
delete salary;
}
void Salary::add_salarys(double x)
{
for(int 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=i+1;j<number;j++)
{
if(*(salarys+i)>*(salarys+j))
{
t=*(salarys+i);
*(salarys+i)=*(salarys+j);
*(salarys+j)=t;
}
}
}
}
void Salary::show_salarys()
{
for(int i=0;i<number;i++)
{
cout<<*(salarys+i)<<"\t";
}
cout<<endl;
}
运行结果:
心得体会: