问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:Project4.cpp
* 作 者:chenqin.
* 完成日期:2014年11月25日
* 版 本 号:v1.0
*
* 问题描述:从文件salary.txt中读入工人的工资(不超过500人),全部增加20%(好事),然后进行排序,将排序后的结果保存到文件ordered_salary.txt中
* 程序输入:
* 程序输出:
*/
#include <fstream>
#include<iostream>
#include<cstdlib>
using namespace std;
int main( )
{
float a[500],t;
int i=0,j,n;
ifstream infile("salary.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
while(infile>>a[i]) i++;
infile.close();
n=i;
for(i=0; i<n; i++)
a[i]*=1.2;
for(j=0; j<n-1; j++)
for(i=0; i<n-j-1; i++)
if (a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
ofstream outfile("ordered_salary.txt",ios::out);
if(!outfile)
{
cerr<<"open error!"<<endl;
exit(1);
}
for(i=0; i<n; i++)
{
outfile<<a[i]<<endl;
if(i%5==0&&i!=0)
cout<<endl;
cout<<a[i]<<" ";
}
outfile.close();
return 0;
}
运行结果:
知识点总结:正确编程读入文件数据以及存储数据
学习心得:能通过所学的知识把文件的读入以及存储都结合在一起了