第十三周项目6-5:

来源:互联网 发布:最全p2p网络投资 编辑:程序博客网 时间:2024/05/17 02:44
问题及代码:
/**Copyright (c)2014,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:test.cpp*作    者:陈文青*完成日期:2014年11月25日*版 本 号:v1.0**问题描述:从文件salary.txt中读入工人的工资(不超过500人),全部增加20%(好事),然后进行排序,将排序后的结果保存到文件ordered_salary.txt中。(salary.txt在云学堂和QQ群下载。)。*程序输入:*程序输出:*/#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;                                    //n为职工人数    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]<<"\t";    }    outfile.close();                       //关闭文件。用完了必须关闭,否则会丢失数据    return 0;}


运行结果:

0 0
原创粉丝点击