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

/*
 *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;
}


 

知识点总结 :

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

学习心得 :

   这是文件输入和输出的结合联系,意义比较大对于以后的作业和专业。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值