/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 张传新
* 完成日期: 2012 年 6 月03 日
* 版 本 号:
* 对任务及求解方法的描述部分
* 输入描述: 从文件salary.txt中读入500名工人的工资,全部增加100元后进行排序,
将排序后的结果在屏幕上输出,并保存到文件ordered_salary.txt中
* 问题描述:
* 程序输出:
* 程序头部的注释结束
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 张传新
* 完成日期: 2012 年 6 月03 日
* 版 本 号:
* 对任务及求解方法的描述部分
* 输入描述: 从文件salary.txt中读入500名工人的工资,全部增加100元后进行排序,
将排序后的结果在屏幕上输出,并保存到文件ordered_salary.txt中
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
float a[500];//定义float型数组
ifstream infile("salary.txt",ios::in);//以输入形式打开文件
if(! infile)//打开失败提示
{
cerr << "open error!" << endl;
exit(1);
}
for(int i = 0;i < 500;i++)
{
infile >> a[i];//从文件读取数据
}
infile.close();//关闭文件
//涨工资
for(int i = 0; i < 500; i++)
{
a[i] += 100;
}
//冒泡排序工资
for(int j = 0;j < 500; j++)
{
for(int k = 0; k <500 - j - 1; k++)
{
if(a[k + 1] < a[k])
{
float t;
t = a[k + 1];
a[k + 1] = a[k];
a[k] = t;
}
}
}
ofstream outfile("ordered_salary.txt",ios::app);//将排序后的结果保存到文件ordered_salary.txt中
if(! outfile)//文件打开错误
{
cerr << "open error!" << endl;
exit(1);
}
for(int i = 0;i < 500; i++)//文件数据输出
{
outfile << a[i] ;
if(i % 10 == 0)
{
cout<<endl;
}
cout<<a[i]<<"\t";
}
cout << endl;
outfile.close();//文件关闭
system("pause");
return 0;
}
经验积累:
掌握了如何将结果保存到另一个文件中。