/*<p>02. *Copyright (c) 2016,烟台大学计算机学院</p><p>03. *All rights reserved. </p><p>04. *文件名称:cpp </p><p>05. *作 者:孙亚茹</p><p>06. *完成日期:2016年4月21日</p><p>07. *版 本 号:v1.0</p><p>09. *问题描述:通过从文件中读取输出排序后的工资。</p><p>*/
</p><p> </p>
#include <iostream>
#include<fstream>
#include<cstdlib>
using namespace std;
const int N=500;
class Salary
{
public:
void read_data();
void write_data();
void sort_salarys();
void show_salarys();
void save_salarys();
private:
double salarys[N];
int number;
};
void Salary::read_data()
{
int i;
ifstream infile("salary.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
i=0;
while(infile>>salarys[i])
i++;
number=i;
infile.close();
}
void Salary::save_salarys()
{
int i;
ofstream outfile("salary2.txt",ios::out);
if(!outfile)
{
cerr<<"save error!"<<endl;
exit(1);
}
for(i=0;i<number;i++)
outfile<<salarys[i]<<" ";
outfile.close();
cout<<"已经将数据存入文件"<<endl;
}
void Salary::sort_salarys()
{
int i,j,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]<<endl;
}
int main()
{
Salary people;
people.read_data();
people.sort_salarys();
people.show_salarys();
people.save_salarys();
return 0;
}