飛飛(四十)(补)文件的应用

/* 
*Copyright (c) 2016,烟台大学计算机学院 
*All rights reserved. 
*文件名称:test.cpp 
*作    者:李飞 
*完成日期:2016年 5月 10日 
*版 本 号:1.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];
      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::write_data()
{
      int i;
      ofstream outfile("salary_ordered.txt",ios::out);
      if(!outfile)
      {
            cerr<<"open error"<<endl;
            exit(1);
      }
      for(i=0;i<number;i++)
      {
            outfile<<salarys[i]<<endl;
      }
        outfile.close();
}
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-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]<<" ";
      }
}





int main()
{
 Salary s;
s.read_data();

 s.add_salarys(500);
 s.sort_salarys();
 s.write_data();
 s.show_salarys();
    return 0;
}
<img src="https://img-blog.csdn.net/20160510131928418?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值