/** (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: 工资类(Salary) * 作 者: 冯珍珍 * 完成日期: 2012年 3月 16日 * 版 本 号: * 对任务及求解方法的描述部分 * 输入描述: * 问题描述:设计一个工资类(Salary),其中的数据成员有:double型数组salary[50](实际人数可以少于50,固定取50可能造成空间浪费),整型值number表示的职工人数。在main函数中调用你自己设计好的成员函数完成下面的功能:(1)输入职工工资,工资保存到salary数组中,实际人数保存到number中(输入-1标志着工资输入结束);(2)给每个人涨100元工资;(3)对涨后的工资进行排序;(4)输出排序后的工资。 * 程序输出: * 程序头部的注释结束*/ #include<iostream> using namespace std; class salary //声明salary类 { public: void set_salary(); void add_salary(int x); void sort_salary(); void show_salary(); static int number; //记录人数 private: double salarys[50]; }; int salary::number = 0;//对类中成员赋初值 void salary::set_salary() { int i=0,x; cout<<" 请输入工资数:"<<endl; cin>>x; while (x>0) { salarys[i]=x; i++; cin>>x; } number=i; } void salary::add_salary(int x) { int i; for(i=0;i<number;i++) { salarys[i]+=x; } } void salary::sort_salary() { int t; for(int i=0;i<number;i++) for(int j=0;j<number-1-i;j++) { if(salarys[j]<salarys[j+1]) { t=salarys[j]; salarys[j]=salarys[j+1]; salarys[j+1]=t; } } } void salary::show_salary() { for(int i=0;i<=number-1;i++) { cout<<"salarys :"<<salarys[i]<<endl; } } int main() { salary s; s.set_salary(); //输入值 s.add_salary(100); //涨工资 s.sort_salary(); //排序 cout<<"增加工资后由高到低的排序为:"<<endl; s.show_salary( ); //输出结果 system("PAUSE"); return 0; }