0

问题如下

写一个程序,提示用户输入一个员工每小时的工资,当周工作的小时数,计算他的周薪。如果他工作超过 40 小时,他每小时的工资是原来每小时的 1.5 倍,超过 40 小时。从总工资中,6% 用于社会保障税,14% 用于所得税,10 欧元用于工会。如果员工有两个以上的孩子,他支付 35 欧元的健康保险费。计算他的周薪。

我的代码

#include "stdafx.h"
#include "iostream"
using namespace std;

int main()
{
    double a,b,c,kid;
    cout << "Enter his salary per hour: " << endl;
    cin >> a;
    cout << "Enter the amount of hours he worked this week: " << endl;
    cin >> b;
    cout << "How many kids does he have: " << endl;
    cin >> kid;

    if ( a > 40 ) {
        if (kid > 2) {
            b = (b-40)*1.5+40;
            c = a*b-a*b*20/100-10-35;
        }
        else {
            b = (b-40)*1.5+40;
            c = a*b-a*b*20/100-10;
        }
    }
    else {
        if (kid > 2)
            c = a*b-a*b*20/100-10-35; 
        else 
            c = a*b-a*b*20/100-10;
    }

    cout << c;
    system("pause");
    return 0;
}

我制作的代码没有给我正确的结果。哪里错了?

4

1 回答 1

7

你不应该使用一个字母的、无意义的变量名。否则你会注意到错误:

if ( a > 40 )

您想比较小时数,但您确实比较了薪水。

于 2013-04-07T05:44:33.993 回答