第3周項目5-數組作資料成員(4),第3周5-

來源:互聯網
上載者:User

第3周項目5-數組作資料成員(4),第3周5-

*   * Copyright (c) 2015, 煙台大學電腦學院   * All rights reserved.   * 檔案名稱:test.cpp   * 作    者:劉暢    * 完成日期:2015年 3 月 22 日   * 版 本 號:v1.0   *  * 問題描述: 閱讀教材P255例8.4,注意到類中的資料成員可以是數組。設計一個工資類(Salary),其中類的資料成員如下:     class Salary     {     private:         double salarys[50]; //多人的工資         int number;  //實際人數     };     要設計的成員函數有:     void set_salarys( ):輸入職工工資(輸入-1標誌著工資輸入結束),工資儲存到salary數組中,實際人數儲存到number中;     void add_salarys(int x):給每個人漲x元工資     void sort_salarys():對工資排序     void show_salarys( ):顯示工資資訊(4)增加一個成員函數,將排序後結果儲存到一個檔案中。 * 輸入描述:NULL; * 程式輸出:按要求輸出。


代碼如下:

#include <iostream>#include <fstream>#include <cstdlib>using namespace std;class Salary{public:    void set_salarys( );             //輸入職員工資(輸入-1標準著工資輸入結束),工資儲存到salary數組中,實際人數儲存到number中。    void add_salarys(int x);         //給每個人漲x元工資    void sort_salarys( );            //對工資排序    void show_salarys( );            //顯示工資資訊    void save_salarys( );            //儲存工資資訊private:    double salarys[500];              //多人的工資    int number;                       //實際人數};int main(){    Salary s;    int x;    s.set_salarys( );    s.show_salarys( );    cout<<"請輸入需要增加的工資量:";    cin>>x;    s.add_salarys(x);    s.sort_salarys( );    s.save_salarys( );    return 0;}void Salary::set_salarys(){    int i=0;    ifstream infile("salarys.txt",ios::in);    if (!infile)    {        cerr<<"open error!"<<endl;        exit(1);    }    while (infile>>salarys[i])    {        i++;    }    number=i;    infile.close();}void Salary::add_salarys(int x){    int i;    for (i=0;i<number;i++)        salarys[i]+=x;}void Salary::sort_salarys(){    int i,j;    double t;    for (i=0;i<number-1;i++)        for(j=0;j<number-i-1;j++)            if (salarys[j]<salarys[j+1])      //  從高到低的排列            {                t=salarys[j];                salarys[j]=salarys[j+1];                salarys[j+1]=t;            }}void Salary::show_salarys( ){    int i;    for (i=0;i<number;i++)        cout<<salarys[i]<<endl;        cout<<endl;}void Salary::save_salarys( ){    int i;    ofstream outfile("salary_data.txt",ios::out);   //以輸入的方式開啟檔案    if(!outfile)                 //測試是否成功開啟    {        cerr<<"open error!"<<endl;        exit(1);    }    for(i=0; i<number; ++i)    {        outfile<<salarys[i]<<endl;    }    outfile.close();}


運行結果:

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.