/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:刘涛
*完成日期:2016年4月18号
*版 本 号:v1.0
*
*问题描述:数组做数据成员
*/
#include <iostream>
using namespace std;
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; //实际人数
};
void Salary::set_salarys()
{
int i=0;
double salary;
cin>>salary;
while(salary!=-1)
{
salarys[i]=salary;
cin>>salary;
i++;
}
number=i;
}
void Salary::add_salarys(int x)
{
int j;
for(j=0;j<number;j++)
salarys[j]+=x;
}
void Salary::sort_salarys()
{
int i,j,k;
double money;
for(i=0;i<number-1;i++)
{
k=i;
for(j=i+1;j<number;j++)
if(salarys[j]>salarys[j+1])
k=j;
if(k!=i)
{
money=salarys[j];
salarys[j]=salarys[j+1];
salarys[j+1]=money;
}
}
}
void Salary::show_salarys()
{
int m;
for(m=0;m<number;m++)
cout<<"第"<<m+1<<"位"<<"员工工资为:"<<salarys[m]<<endl;
}
int main()
{
Salary Money;
Money.set_salarys();
Money.add_salarys(500);
Money.sort_salarys();
Money.show_salarys();
return 0;
}
运行及结果:
<img src="https://img-blog.csdn.net/20160418184541474?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
知识点总结:
数组做数据成员,解决了大量数据不好储存的问题。批量的处理了数据。 选择法排序。
学习心得:向前学习的过程中,要学会复习学过的知识,以免忘记。