第三周 【项目5 - 数组作数据成员】(2)
来源:互联网 发布:linux删除u盘文件 编辑:程序博客网 时间:2024/05/18 01:45
问题描述:
阅读教材P255例8.4,注意到类中的数据成员可以是数组。设计一个工资类(Salary),其中类的数据成员如下
class Salary { private: double salarys[50]; //多人的工资 int number; //实际人数 };
要设计的成员函数有:
- void set_salarys( ):输入职工工资(输入-1标志着工资输入结束),工资保存到salary数组中,实际人数保存到number中;
- void add_salarys(int x):给每个人涨x元工资
- void sort_salarys():对工资排序
- void show_salarys( ):显示工资信息
(2)用salary[50]有限制,实际人数少时,会浪费空间,人数多了,无法完成任务。在main()中先输入职工人数,作为参数传递给输入职工工资的成员函数,然后利用动态分配内存的机制,开辟一个大小正好的连续空间,完成上面的工作。
代码:
#include <iostream>using namespace std;class Salary{private: double *salary; int number;public: void set_salarys(); void add_salarys(int x); void sort_salarys(); void show_salarys();};void Salary::set_salarys(){ number=0; int i; cout<<"请输入职工人数: "; cin>>i; salary=new double[i]; cout<<"请依次输入员工的工资:\n"; while (cin>>salary[number]&&i>number) number++;}void Salary::add_salarys(int x){ int i=0; while (i<number) { salary[i]+=500; i++; }}void Salary::sort_salarys(){ int i=0,j=0,t; for(i=0;i<=number;i++) for(j=0;j<=number-i-1;j++) { if(salary[j]>salary[j+1]) { t=salary[j+1]; salary[j+1]=salary[j]; salary[j]=t; } }}void Salary::show_salarys(){ int i=0; while (i<=number) { cout<<"第"<<i<<"为员工的工资是\t"<<salary[i]<<'\12'; i++; }}int main( ){ Salary worker; worker.set_salarys( ); worker.add_salarys(500); worker.sort_salarys(); cout<<"加薪排序后的工资:\n"; worker.show_salarys( ); return 0;}
运行结果:
0 0
- 第三周 【项目5 - 数组作数据成员】(2)
- 第三周【项目5 - 数组作数据成员】(1)
- 第三周 【项目5 - 数组作数据成员】(3)
- 第三周 【项目5 - 数组作数据成员】(4)
- 第三周 项目五--数组作数据成员(5)
- 第三周项目五数组作数据成员(5)
- 第三周项目5-数组作数据成员(1)
- 第三周 项目五--数组作数据成员(2)
- 第三周项目五数组作数据成员(2)
- 第三周项目5(5)-数组作数据成员
- 第三周项目5-1:数组作数据成员
- 第三周项目5-数组作数据成员
- 第三周项目5(3)-数组作数据成员
- 第三周项目5(4)-数组作数据成员
- 第三周项目5-数组作数据成员
- 第三周项目5-数组作数据成员
- 第三周项目5数组作数据成员
- 第三周项目五:数组作数据成员(一)
- urllib2实现文件上传
- 今年暑假不AC(hdu2037,贪心算法-选择不相交区间)
- 青平镇电脑|廉江市青平镇电脑盛世电脑青平店
- NYO Radar|| 外星人的供给站 (贪心)
- book 2
- 第三周 【项目5 - 数组作数据成员】(2)
- URAL 2005. Taxi for Programmers
- uboot 编译出错 cc1: error: bad value (armv4) for -march= switch
- jps命令详解
- jq之lightning
- 【NOIP2015】day1第一题:生活大爆炸版 石头剪刀布
- 擅长排列的小明
- I.MX6Q(TQIMX6Q/TQE9)学习笔记——LTIB安装配置
- 预测算法归纳与总结