/*
*Copyright(c)2016,烟台大学计算机学院
*All right reserved.
*文件名称:test.cpp
*作者:黄金婵
*完成日期:2016年5月18日
*版本号:v1.0
*
*问题描述:实现Salary类中的成员函数,在main函数定义Salary类的对象,输入工资,再给每个人涨500元工资,排序后工资数据,然后输出结果。
*输入描述:
*程序输出:
*/
#include<iostream>
#include<Cmath>
using namespace std;
class Salary
{
public:
void set_salarys( ); //输入职工工资,工资保存到salary数组中,
// 实际人数保存到number[]中(输入-1标志着工资输入结束);
void add_salarys(int x); //(2)给每个人涨500元工资(add_salarys是有参函数,在调用时,500当实参)
void sort_salarys(); //(3)对涨后的工资进行排序;
void show_salarys( ); //4)输出排序后的工资。
private:
double salarys[50]; //工资
int number; //实际人数
};
int main()
{
Salary s1;
cout<<"请输入员工的工资"<<endl;
s1.set_salarys( );
s1.add_salarys(500);
s1.sort_salarys();
cout<<"涨工资后的员工工资排序为:"<<endl;
s1.show_salarys();
return 0;
}
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=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]<<" ";
}
总结:此类代码大量运用了C语言的数组知识,不过我在做的时候感到自己遗忘了很多,也发现了很多差距,暂时还没搞明白怎么样插入一个工资表让程序利用起来更方便,希望自己能够钻研出来。