在C++中使用带有变量的cout时出错

Bla*_*ake 1 c++

我正在用C++编写一个简单的程序来计算购买税并输出它.我的代码输出文本和设置但未更改的变量.但是,不是输出正在计算和根据税率设置的变量,而是输出0.感谢任何帮助!对我来说,第一周上课如果可以的话,试着把它弄下来:)

这是代码:

#include <iostream>
using namespace std;

int main()
{
int price = 52, stateTaxRate = 4, countyTaxRate = 2;

double stateTax = price / 100 * stateTaxRate;
double countyTax = price / 100 * countyTaxRate;
double totalTax = countyTax + stateTax;
double total = price + totalTax;

cout << "State Tax: " << stateTax << " ";

cout << "County Tax: " << countyTax << " ";

cout << "Total Tax: " << totalTax << " ";

cout << "Total: " << total << " ";  
}
Run Code Online (Sandbox Code Playgroud)

Dou*_* T. 6

你正在进行整数除法.

 int price = 52, stateTaxRate = 4, countyTaxRate = 2;
Run Code Online (Sandbox Code Playgroud)

正在进行评估

 price / 100
Run Code Online (Sandbox Code Playgroud)

结果为0.

整数除以另一个整数不会导致C++中的浮点数.它会截断(即删除)您希望在"."之后看到的所有内容.它不知道你正在评估的表达式的最内部点,最终所有东西都会转为双精度.

将变量更改为双精度数,您将获得不同的结果.