4-5(扩展1)动态分配内存

/* 
 * Copyright (c) 2013, 烟台大学计算机学院 
* All rights reserved. 
* 作    者:孙红蕾  
* 完成日期:2013 年 3 月 25 日 
* 版 本 号:v1.0 
* 
* 输入描述:职工人数 
* 问题描述:在程序执行中输入职工人数,利用动态分配内存的运算符new,开辟一个大小正好的连续空间
* 程序输出:排序后的工资
* 算法设计:略 
*/ 
#include <iostream>
using namespace std;
class Salary   
{
public:         
	void set_salarys( );    
	void add_salarys(int x);    
	void sort_salarys();
	void show_salarys( );      
private:
	double *salarys;    //工资,定义为指针,将来指向一个数组 
	int number;			//实际人数  
};
//主函数
int main( )
{
	Salary s;  
	s.set_salarys( );    
	s.add_salarys(100);    
	s.sort_salarys();
	s.show_salarys( );  
	system("PAUSE");
	return 0;
}
//输入职工人数和工资
void Salary::set_salarys( )    
{
	int x,i;
	cout<<"请输入职工人数: ";
	cin>>number;
	salarys=new double[number];  //分配大小正好合适的空间存放数据
	cout<<"请输入职工的工资: ";
	for(i=0;i<number;++i)
	{
		cin>>x;   
		salarys[i]=x;		
	}
}
//涨工资
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]<<" ";
}
运行图片:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值