第十三周 项目六--体验文件操作(5-实战)

来源:互联网 发布:videoplayer是什么软件 编辑:程序博客网 时间:2024/05/22 10:18

问题及代码:

/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:test.cpp*作者:吴胜男*完成日期:2014年11月24日*版本号:v1.0**问题描述:文件salary.txt中读入工人的工资(不超过500人),全部增加20%(好事),然后进行排序,将排序后的结果保存在文件ordered_salary.txt中。*输入描述:略*程序输出:排好序的工人工资*/#include <fstream>   //操作文件必写#include<iostream>#include<cstdlib>   //调用exit(1)需要包含cstdlibusing namespace std;int main( ){    int count=0,i=0,j;    double s[500],t;    ifstream infile("salary.txt",ios::in);    if(!infile)    //测试文件打开操作是否成功    {        cerr<<"open error!"<<endl;        exit(1);//打开不成功,则提示后退出。    }    while(infile>>s[i])        i++;    infile.close();    count=i;    for(i=0; i<count; i++)        s[i]=1.2*s[i];    for(j=1; j<=count-1; ++j)        for(i=1; i<=count-j; i++)        {            if(s[i]>s[i+1])            {                t=s[i];                s[i]=s[i+1];                s[i+1]=t;            }        }    ofstream outfile("ordered_salary.txt",ios::out);    if(!outfile)    //测试文件打开操作是否成功    {        cerr<<"open error!"<<endl;        exit(1);    }    for(int i=0; i<count; i++)        outfile<<s[i]<<" ";    outfile.close();    cout<<"处理完毕,请打开文件查看结果!"<<endl;    return 0;}

运行结果:

知识点总结:重点是文件的读出和读入,第一个文件读出后进行加倍和排序操作,再读入到另一个文件里保存,第一个文件处理完后不用输出,直接打开第二个文件。

学习心得:抄之有道,重在理解过程。

 

0 0
原创粉丝点击