第3周專案5-陣列作資料成員(3)
*
* Copyright (c) 2015, 煙臺大學計算機學院
* All rights reserved.
* 檔名稱:test.cpp
* 作 者:劉暢
* 完成日期:2015年 3 月 21 日
* 版 本 號: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( ):顯示工資資訊
(3)手工輸入工資?!太讓人不能忍受了。現給出包含了不足500個職工工資的檔案salary.txt(下載),從檔案中讀資料,完成上面的工作。
* 輸入描述: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( ); //顯示工資資訊
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.show_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;
}
執行結果:
又出現了輸入框不夠前面的輸入消失了的情況。一開始沒有用輸入增加的工資依然用的之前的直接+500的方法,結果輸出時還以為出錯了,然後改了。程式上應該是沒有問題的了,
相關文章
- 第3周專案5-陣列作資料成員(1)陣列
- 第3周專案5-陣列作資料成員(2)陣列
- 第3周專案5-陣列作資料成員(4)陣列
- 第3周專案5-陣列作資料成員(5)陣列
- 第14周-閱讀專案5-字串流物件字串物件
- 陣列作為形參陣列
- 第3周課後實踐·閱讀程式(3)-利用函式訪問私有資料成員函式
- 專案小組成員介紹
- 普通專案組成員對專案的作用(轉)
- 第3周課後實踐·程式閱讀(4)-利用引用訪問私有資料成員
- 第4周專案3-用物件陣列操作長方柱類物件陣列
- 專訪Eclipse Europa 專案開發成員Eclipse
- 第3周課後實踐·閱讀程式(2)-利用指標訪問私有資料成員指標
- 陣列作為函式引數陣列函式
- 小點心家族第3位成員——樓層定位效果
- 靜態資料成員和靜態成員函式函式
- 專案經理之專案經理與專案成員的實戰指南
- 寒假專案5-讀懂“共同體"
- SQLBulkOperations及陣列作引數的SQLSQL陣列
- 第10章 基因資料分析和BDG專案
- MDX中使用成員屬性-資料庫專欄,SQL Server資料庫SQLServer
- C++ 靜態資料成員C++
- 前谷歌員工推出類Spanner資料庫專案谷歌資料庫
- 成為更優秀的開發人員:第3篇 - 享受全景
- 雲棲乾貨回顧 | 行業頂級NoSQL成員坐陣,NoSQL資料庫專場重點解析!行業SQL資料庫
- 第9周專案3輸出星號圖(3)
- 領導員工成為專案管理者(轉)專案管理
- 對聯合專案組成員的考評(轉)
- 軟體專案組成員的激勵措施(轉)
- 如何成為資料庫管理員(DBA)?資料庫
- cosnt成員資料的初始化
- 物件資料成員的初始值物件
- 成為資料科學家的入門專案資料科學
- 推動專案管理的陣痛(3)(轉)專案管理
- 如何利用六西格瑪有效管理專案團隊成員?
- 領導員工成為專案管理者2(轉)專案管理
- C++ 成員資料指標成員函式指標簡單測試C++指標函式
- 有幸成為Oracle 使用者組年輕專家專案一員Oracle