只是一个简单的问题。我有一个学校项目,我必须再次解决这个问题作为一个新的独立问题。仅使用一行代码提供税务计算,不使用任何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;
}
答案 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的较高税率。