用户输入结果错误

时间:2014-09-13 00:16:12

标签: c++

好吧,我在使用taxRate的用户输入时遇到问题,当我编译代码时,我得到了错误的结果。

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

int main()
{

long propertyValue;
long taxRate;
long exemption = 5000;

cout << "What is the actual value of your property?\n";
cin >> propertyValue;
cout << "What is the current tax rate?\n";
cin >> taxRate;

cout << "You will pay an annual property tax of ";
cout << (propertyValue - exemption) * taxRate / 100.00; 
cout << " on your property\n";

cout << "and your quarterly tax bill will be; ";
cout << (propertyValue - exemption) * taxRate / 100.00 / 4 << endl;
system("pause");

return 0;
}

1 个答案:

答案 0 :(得分:0)

这是代码中的一个简单错误,我将解释原因 让我们以PropertyFalue为300,000,税率为let表示为5.6。 您使用年度房产税率的公式:

(PropertyValue - exemption) * taxRate / 100.00;

你宣布taxRate为long(又名long int)

long taxRate;

300,000 - 5000 = 295,000 * 5.6&lt; -----你的错误就在这里! 请记住,long是int的属性,因此5.6变为5.将其更改为double(浮点数)将解决您的问题。我对它进行了多次测试,并确定了您的代码。