您的位置:首页 > 其它

第十三周项目 6 体验文件操作(5—实战)——从文件输入与输出到文件中

2014-11-25 10:54 399 查看
/*
*Copyright (C) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称 :mian.cpp
*作    者 :韩娟
*完成日期 :2014年11月25日
*版 本 号 :v1.0
*
*问题描述 :全部人的工资从文件读入后,全部增加20%后,在放入到另一个中
*输入描述 :略
*程序输出 :增加20%后的工资
*/
#include <fstream>   //操作文件必写
#include<iostream>
#include<cstdlib>   //调用exit(1)需要包含cstdlib
using namespace std;
int main( )
{
float a[500],t;
int i=0,y,n;
//以输入的方式(ios::in)打开文件
ifstream infile("salary.txt",ios::in);
//测试是否成功打开,打开失败时(如要读的数据文件不存在)退出
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
//下面读取数据并完成处理,若数据需要多次使用,可以读入到数组中
while(infile>>a[i])  //当到达文件尾,则循环处理结束。类似cin>>a,只不过数据来源于打开的文件
{
i++;
}
infile.close();
y=i;
for(i=0; i<y; i++)
{
a[i]=a[i]*1.2;
}
for(n=0; n<=y; n++)
for(i=0; i<=y-n; 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);				//打开不成功,则提示后退出。
}
//用ios::out方式成功打开文件后,可以如下所示将数据保存到文件中
//操作中,要用打开的文件对象名(outfile),而不是用文件名(此例f1.dat)
//本例将键盘输入的10个整数“写”到文件中。
for(int i=0; i<y; i++)
{
outfile<<a[i]<<endl;
if(i%5==0&&i!=0) cout<<endl;
cout<<a[i]<<"\t";
//a[i]被写到了文件
//理解:outfile就是前面打开文件时创建的“输出文件流对象”,
//是否想起了cout<<a<<endl?道理一样,用法也一样,只是输出到了文件
}
cout<<"处理完毕,请打开文件查看结果!"<<endl;
outfile.close(); 		 //读入完毕要关闭文件
//下面对数据的操作和文件就没有关系了,本例输出求得的最大值
return 0;
}






知识点总结 :

这个知识点是从文件输入和输出到文件,有比较重要的意义,要多多联系,有模板。

学习心得 :

这是文件输入和输出的结合联系,意义比较大对于以后的作业和专业。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: