gpt4 book ai didi

c++ - 我的 IF 语句中的问题,Else 无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-04 15:12:00 24 4
gpt4 key购买 nike

我的简单代码只是接收用户的收入并计算用户在哪个括号中。

IF 语句工作正常,但是当用户输入一些带两位小数的值(例如 100.50)时,代码输出正确的税和 else 语句。

我能做些什么来修复它?

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

/**********************************************************************
* This function will calculate which tax bracket a user is in.
***********************************************************************/
bool computeTax(float income)
{
if (income >= 0.00 && income <= 15100.00)
cout << "10%" << endl;
if (income > 15100.00 && income <= 61000.00)
cout << "15%" << endl;
if (income > 61300.00 && income <=123700.00)
cout << "25%" << endl;
if (income > 123700 && income <= 188450.00)
cout << "28%" << endl;
if (income > 188450.00 && income <= 336550.00)
cout << "33%" << endl;
if (income > 336550.00)
cout << "35%" << endl;
else
cout << "Please enter a valid value" << endl;
return 0;
}
int main()
{
// configure the output to diplay money
cout.setf(ios::fixed); // no scientific notation except for the deficit
cout.setf(ios::showpoint); //always show the decimal point
cout.precision(2); // two decimal for cents

float income;
cout << "Please enter your income: ";
cin >> income;
computeTax(income);
return 0;
}

最佳答案

你的 if每个陈述都是相互孤立地解释的。您需要使用 else if对于你所有的中间if决赛前的陈述 else ,像这样:

if(cond1)
{
...
}
else if(cond2)
{
...
}
else if(cond3)
{
...
}
else // all other cases
{
...
}

即使 cond1 , cond2 , 和 cond3是互斥的(就像在你的代码中一样),else if仍然需要语句,因为 elseif(cond3) 相关联的控制路径如果 cond3 仍将被占用是假的,即使cond1cond2是真的。

关于c++ - 我的 IF 语句中的问题,Else 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54425256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com