第3周專案5-陣列作資料成員(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( ):顯示工資資訊
(5)用多檔案的方式組織最後的程式。
* 輸入描述:NULL;
* 程式輸出:按要求輸出。
程式碼如下:
main.cpp:
#include <iostream>
#include "salary.h"
using namespace std;
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;
}
salarys.h:
#ifndef SALARY_H_INCLUDED
#define SALARY_H_INCLUDED
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; //實際人數
};
#endif // SALARY_H_INCLUDED
salarys.cpp:
#include <iostream>
#include <fstream>
#include <cstdlib>
#include "salary.h"
using namespace std;
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();
}
執行結果:
多檔案程式示意圖:
相關文章
- 第3周專案5-陣列作資料成員(1)陣列
- 第3周專案5-陣列作資料成員(2)陣列
- 第3周專案5-陣列作資料成員(3)陣列
- 第3周專案5-陣列作資料成員(4)陣列
- 第14周-閱讀專案5-字串流物件字串物件
- 寒假專案5-讀懂“共同體"
- 5- ABC遷移大資料1大資料
- 陣列作為形參陣列
- 專案小組成員介紹
- 普通專案組成員對專案的作用(轉)
- 讀書筆記5-資料儲存篇筆記
- Spring Boot入坑-5-資料訪問Spring Boot
- 專訪Eclipse Europa 專案開發成員Eclipse
- 靜態資料成員和靜態成員函式函式
- 專案經理之專案經理與專案成員的實戰指南
- SQLBulkOperations及陣列作引數的SQLSQL陣列
- 第10章 基因資料分析和BDG專案
- MDX中使用成員屬性-資料庫專欄,SQL Server資料庫SQLServer
- C++ 靜態資料成員C++
- 前谷歌員工推出類Spanner資料庫專案谷歌資料庫
- 雲棲乾貨回顧 | 行業頂級NoSQL成員坐陣,NoSQL資料庫專場重點解析!行業SQL資料庫
- 效能優化之資料庫篇5-分庫分表與資料遷移優化資料庫
- 領導員工成為專案管理者(轉)專案管理
- 對聯合專案組成員的考評(轉)
- 軟體專案組成員的激勵措施(轉)
- 如何成為資料庫管理員(DBA)?資料庫
- cosnt成員資料的初始化
- 物件資料成員的初始值物件
- 成為資料科學家的入門專案資料科學
- 5-網路營銷
- Odi第5節-使用(三):設計器(專案)
- 如何利用六西格瑪有效管理專案團隊成員?
- 領導員工成為專案管理者2(轉)專案管理
- C++ 成員資料指標成員函式指標簡單測試C++指標函式
- 有幸成為Oracle 使用者組年輕專家專案一員Oracle
- Java基礎02 方法與資料成員Java
- 都是指標資料成員“惹的禍”指標
- 第3周課後實踐·程式閱讀(4)-利用引用訪問私有資料成員