C OJ習題練習 十六 計算公司員工的工資

2021-10-10 09:53:18 字數 3074 閱讀 2842

problem description

某公司有老闆boss、雇員employee、小時工hourlyworker和營銷人員commworker,他們的薪金計算方法如下:

老闆實行年薪制,如一年15萬;雇員按月計酬,方法是基本工資+獎金;小時工按工作時間計算報酬,方法是工作小時每小時單價;營銷人員按月計酬,方法是基本工資+銷售利潤5%。

每類人員都有姓名、職工編號、年齡、性別、工資等資料。設計計算各類人員報酬的程式,用虛函式getpay()計算各類人員的應得報酬,用虛函式print()列印輸出各位工作人員的基本資料。

#include

using

namespace std;

class

person

;person::

person

(string s1,string s2,

int age,string ***,

float salary)

void person::

print()

//你的**將被嵌在這裡

intmain()

sample output

***

****

****

****

****

*老闆***

****

****

****

****

*姓名:張華

職工編號:n001

年齡:30

性別:男

年薪:15萬元**

****

****

****

****

**雇員***

****

****

****

****

*姓名:李明

職工編號:n002

年齡:40

性別:男

基本工資:900

獎金:1000

月薪:1900元**

****

****

****

****

**小時工***

****

****

****

****

*姓名:向力

職工編號:n003

年齡:38

性別:男

每小時單價:60元

報酬:1800元**

****

****

****

****

**營銷人員***

****

****

****

****

*姓名:劉曉雲

職工編號:n004

年齡:28

性別:女

基本工資:1600元

銷售利潤:10000元

月酬:2100元

hint

1、將各類人員都有的共有的屬性和行為抽象在類person中,包括姓名、職工編號、年齡、性別等,以及函式getpay

()和print()。

2、getpay

()設計為純虛函式,將print

()設計成一般虛函式,其餘類從person類派生,各類再定義getpay

()的實現方法,並重定義函式print

()輸出具體資料。

3、每個類還需要根據實際情況定義相應的成員函式,獲取諸如工作時間、基本工資、銷售利潤之類的基礎資料。

解題**

// boss類繼承person類

class

boss

:public person

// print方法 列印題目指定內容

void

print()

// getpay 獲取工資 15萬元

double

getpay()

};// employee類繼承了person類

class

employee

:public person

// 設定 bwage bonus的方法

void

setbwage

(int wage)

;void

setbonus

(int bonus)

;// 獲取工資的方法 工資 = 基本工資+獎金

double

getpay()

// print()方法列印資訊 根據題目要求

void

print()

};// hourlyworker 繼承person類

class

hourlyworker

:public person

// 設定 time_hours uhprice 的方法

void

settime_hours

(int hours)

void

setuhprice

(int price)

// 獲取工資的方法 小時工工資 = 工作時間(小時) * 每小時工資

double

getpay()

// print()方法列印資訊 根據題目要求

void

print()

};// commworker 繼承person類

class

commworker

:public person

// 設定bwage,interest的方法

void

setbwage

(int wage)

void

setinterest

(int interest)

// 獲取工資 營銷人員工資 = 基本工資 + 提成(銷售利潤 * 0.05)

double

getpay()

// print()方法列印資訊 根據題目要求

void

print()

};

C OJ習題練習 三 函式過載

problem description 編寫過載函式min 分別計算int double float long型別陣列中的最小值。程式如下,請完善該程式的設計 include using namespace std intmin int int double min double int float...

C OJ習題練習 二十 計算某高校教師的課酬

problem description 某高校教師的課酬計算方法是 教授100元 小時,副教授80元 小時,講師60元 小時,助教40元 小時。編寫計算教師課酬的程式,從鍵盤輸入教師的姓名 職稱 授課時數,然後輸出該教師應得的課酬。請完善下面的程式 include include using nam...

linux練習題十六

目錄 一 使用ansible的playbook實現自動化安裝httpd 二 建立httpd伺服器,要求提供兩個基於名稱的虛擬主機 檢查yml檔案 執行任務 1 www.x.com,頁面檔案目錄為 web vhosts x 錯誤日誌為 var log httpd x.err,訪問日誌為 var log...