源程序:
/*(文件注释头部开始)
*程序的版权和版本声明部分
*Copyright (c) 2011,烟台大学计算机学院学生
*All rights reserved.
*文件名称:文件的读取与保存
*作 者:2011级计114-3张宗佳
*完成日期:2012年6月6号
*版本号:vc
* 对任务及求解方法的描述部分
* 输入描术:
* 问题描述:从文件salary.txt中读入500名工人的工资,全部增加100元后进行排序,并保存到文件ordered_salary.txt中
* 程序输出:
* 程序头部的注释结束
*/
#include<fstream>
#include<iostream>
using namespace std;
int main()
{
double sa[500],s;
int i,j;
ifstream infile("salary.txt",ios::in);//读入数据
if(! infile)//判断是否能打开文件
{
cerr << "open error!" << endl;
exit(1);
}
for(i = 0; i < 500; ++i)// 读入数据
{
infile >> sa[i];
}
infile.close();//关闭文件
for(i=0;i<500;i++)
{
sa[i]+=100; //涨工资了
}
for(j=0;j<500-2;j++) //排序,用冒泡法,其他法类似
{
for(i=0;i<500-j-1;i++)
{
if (sa[i] > sa[i+1])
{
s = sa[i];
sa[i] = sa[i+1];
sa[i+1] = s;
}
}
}
ofstream outfile("ordered_salary.txt",ios::out);//读出数据
if(!outfile)
{
cerr << "open error!" << endl;
exit(1);
}
for(i = 0;i < 500; ++i)
{
outfile << sa[i] << " ";
cout << sa[i] << '\t';
if(i % 5 == 0)
{
cout << endl;
}
}
cout << endl;
outfile.close();//关闭文件,防止数据丢失
system("pause");
return 0;
}
实验结果: