1. 程式人生 > >十五週專案一工資資料的輸入(檔案輸入輸出)

十五週專案一工資資料的輸入(檔案輸入輸出)

#include <fstream>
#include<iostream>
#include<cstdlib>
using namespace std;
int main( )
{
    float salary[500],t;
    int i,j,n=0;
    ifstream infile("salary.txt",ios::in);  //以輸入的方式開啟檔案
    if(!infile)       //測試是否成功開啟
    {
        cerr<<"open error!"<<endl;
        exit(1);
    }
    while(infile>>salary[n]) n++;   //從檔案中讀取資料,n為職工人數
    infile.close();
    //排序,用冒泡法,其他法類似
    for(j=0; j<n-1; j++)
        for(i=0; i<n-j-1; i++)
            if (salary[i]<salary[i+1])
            {
                t=salary[i];
                salary[i]=salary[i+1];
                salary[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<<salary[i]<<endl;
        if(i%5==0&&i!=0) cout<<endl;
        cout<<salary[i]<<"\t";
    }


    outfile.close();     //關閉檔案。用完了必須關閉,否則會丟失資料
    return 0;
}