2017-02-13 22 views
0

計算された総支払額をgrossPay変数に格納してネット支払額を計算する方法を理解しようとしています。構造体を使用するときに私を捨てます。変数に式を格納しようとしています

#include<string> 
#include <iostream> 
using namespace std; 

struct Workers { 
    string name; 
    double hourlyWage; 
    int hoursWorkedPerDay; 
    int hoursWorkedPerWeek; 

}; 
int healthTax = 130; 
double otherTaxes = 0.17; 
double grossPay; 

int main() { 
    Workers JohnDoe; 
    JohnDoe.name = "John Doe"; 
    JohnDoe.hourlyWage = 8.50; 
    JohnDoe.hoursWorkedPerDay = 6; 
    cout<<"- John Doe's weekly earnings - "<< endl; 
    cout<<"Hourly rate: $8.50" << endl; 
    cout<<"Hours worked per day: 6" << endl; 
    cout<<"Gross pay: $" << 7 * (JohnDoe.hourlyWage * JohnDoe.hoursWorkedPerDay)<<endl; // gross pay 
    grossPay; // how to store gross pay into this variable? 
    cout<<"Net pay: $" << otherTaxes * (grossPay - healthTax)/100; // net pay 
} 
+0

'grossPay = 7 * JohnDoe.hourlyWage * JohnDoe.hoursWorkedPerDay' –

+1

なぜあなたは' 'ちょうどgrossPay = 7 *(JohnDoe.hourlyWage * JohnDoe.hoursWorkedPerDay)することはできません – Rama

答えて

4

変数の仕組みを理解していない可能性があります。あなたが式の計算結果を格納し、式を格納しない:

 double grossPay = 7 * (JohnDoe.hourlyWage * JohnDoe.hoursWorkedPerDay); 
+0

彼はむしろ関数のようなものを意味すると思う。 –

+0

@Saeid私は彼がラムダや関数ポインタについて質問しているのを本当に疑っている。 –

0

これは、あなたがするHAEものです:

double grossPay = 7 * (JohnDoe.hourlyWage * JohnDoe.hoursWorkedPerDay); 

次にあなたが、この場合には、印刷を使用することができますそれ:

cout<<"Gross pay: $" << grossPay <<endl; 
+0

そしてあなたの答えとNeilの答えの違いは何ですか? –

+0

私は、変数を作成した後、それを使用できると言っています。 –

1

他の答えが正しいですが、わずかに良い解決策が機能ウィッヒだろうが、結果をパラメータとしてWorker参照を取得して返します。

double getGrossPay(const Workers& worker) { 
     return 7 * (worker.hourlyWage * worker.hoursWorkedPerDay); 
} 

そして、単に:

cout<<"Gross pay: $" << getGrossPay(JohnDoe) <<endl; // gross pay 
関連する問題