数组作数据成员

上机内容:数组作为数据成员

上机目的:继续类的学习


/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: object.cpp
* 作者:刘杰
* 完成日期: 2013年3  月 26 日
* 版本号: v1.0
* 输入描述:无
* 问题描述:(1)输入职工工资,工资保存到salary 数组中,实际人数保存到number 中(输入-1 标志着工资
输入结束);
(2)给每个人涨100 元工资;
(3)对涨后的工资进行排序;
(4)输出排序后的工资。
提示:上述每一个功能都需要设计成一个成员函数。

* 程序输出:
*/
#include <iostream>
#include <fstream>
using namespace std;
const N=500;
class Salary   
{
public:         
	void read_data( );  
	void write_data();
	void add_salarys(int x);    
	void sort_salarys();
	void print();      
private:
	double salarys[N]; //工资 
};

void Salary::read_data( )    
{
	int i;
    ifstream infile("salary.txt",ios::in);   //以输入的方式打开文件  
    if(!infile)                 //测试是否成功打开  
    {  
        cerr<<"open error!"<<endl;  
        exit(1);  
    }
	for(i=0;i<N;++i)
	{
		infile>>salarys[i];
	}
	infile.close();
}

void Salary::write_data( )    
{
	int i;
    ofstream outfile("salary_ordered.txt",ios::out);   //以输入的方式打开文件  
    if(!outfile)                 //测试是否成功打开  
    {  
        cerr<<"open error!"<<endl;  
        exit(1);  
    }
	for(i=0;i<N;++i)
	{
		outfile<<salarys[i]<<endl;
	}
	outfile.close();
}

void Salary::add_salarys(int x)  
{
	
	int i;
	for (i=0;i<N;i++)
		salarys[i]+=x;
}

void Salary::sort_salarys()  
{
	int i,j;
	double t;
	for (i=0;i<N-1;i++)
		for(j=0;j<N-i-1;j++)
			if (salarys[j]<salarys[j+1])
			{
				t=salarys[j];
				salarys[j]=salarys[j+1];
				salarys[j+1]=t;
			}
}

void Salary::print()
{  
    int i;  
    for (i=0;i<N;i++)  
        cout<<salarys[i]<<" "<<endl;  
}  
int main( )
{
	Salary s;  
	s.read_data( ); 
	s.add_salarys(500);    
	s.sort_salarys();
	s.write_data( ); 
	s.print();  
	system("PAUSE");
	return 0;
}
运行结果:

数组作数据成员_第1张图片

你可能感兴趣的:(数组作数据成员)