旧题再做涨工资

/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: fun.cpp
* 作 者:隋 鑫
* 完成日期:2013 年6月 14日
* 版本号: v1.0
* 对任务及求解方法的描述部分:类与职工工资
* 输入描述:略
* 问题描述:略
* 程序输出:如下
*/
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
const int N=500;
class Salary
{
public:
	void read_data( );
	void write_data();
	void add_salarys(int x);
	void sort_salarys();
	void show_salarys( );
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("ordered_salary.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::show_salarys( )
{
	int i;
	for (i=0;i<N;i++)
		cout<<salarys[i]<<"\t"<<"\t";
}

int main( )
{
	Salary s;
	s.read_data( );
	s.add_salarys(100);
	s.sort_salarys();
	s.write_data( );
	s.show_salarys( );
	return 0;
}


运行结果:

旧题再做涨工资_第1张图片

你可能感兴趣的:(旧题再做涨工资)