使用什么而不是if / else,switch或三元运算符?

时间:2016-04-30 22:49:29

标签: c++

只是一个简单的问题。我有一个学校项目,我必须再次解决这个问题作为一个新的独立问题。仅使用一行代码提供税务计算,不使用任何if / else或switch语句或使用三元运算符。我可能能够在一行代码中进行计算,但如果我想摆脱条件语句,我不知道该怎么写。下面是我应该改变的代码。我的老师对我们可以使用什么和不使用什么有点挑剔。当我们没有学到所有这些功能时,这个项目也给了我们。我正在寻找一个不太高级的答案,因为我是c ++的新手。 / ******************* **************

为根据费率表计算税收的州编写程序:• 首15,000美元的收入不征税• 每美元5%的税,从15,001美元到25,000美元• 每美元10%的税,超过25,000美元 ************************************************** ************* /

   #include <iostream>
        #include <string>
        #include <sstream>
        #include <iomanip>

        using namespace std;
        int main()
        {
            string income2;
            double income;
            const double FIRSTTAX = 500;
            double secondDifference;
            const double FTAX = 0.05;
            const double TTAX = 0.1;
            cout << "Please enter the annual income: $ ";
            getline (cin, income2);
            stringstream (income2)>> income;


                if (income == 0 || income <= 15000 )
                {
                    cout << "No income on first 15000 " << endl;
                }
            else if (income > 15000 && income <= 25000)
                {
                    income = (income - 15000)* FTAX;
                    cout << " Your net income " << income <<endl;

                }
             else if (income > 25000)
                {
                    secondDifference = (income - 25000) * TTAX +(income - 15000- (income - 25000)) * FTAX;



                    cout << " Your net income " << income <<fixed<<setprecision(2) <<endl;

                    cout << " Your tax " << secondDifference <<fixed<<setprecision(2) << endl;
}




        return 0;
    }

2 个答案:

答案 0 :(得分:1)

在一行中:

tax = max(income-15000,0)*FTAX + max(income-25000,0)*(TTAX-FTAX)

答案 1 :(得分:0)

考虑两种不同的税率,并允许税率单独变化:

$explode_arr = explode('||', $text_from_category_page);

//Top of page
echo $explode_arr[0];

//Bottom of page
echo $explode_arr[1];

上半年看收入超过15k,但是上限高于该数额适用于10k(即两个门槛之间的差异)。

下半年计算收入超过25k的较高税率。