#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int amount;
int discount;
cout<<"please enter amount : ";
cin>>amount;
discount = amount*(10/100);
cout<<"the discount amount is"<<discount<<endl;
system("PAUSE");
}
我正在写简单的c ++程序,其中我想得到用户输入的输入数字的答案,简单的数学方程式计算int量变量但是它没有给出一个必需的答案它给出0但是代码是正确的我猜
答案 0 :(得分:2)
10/100
是整数除法,结果为0
。因此,您将金额乘以零,再次净额为零。
修改强>
如果您来自JavaScript或Python等动态语言,它们通常会为所有内容使用隐式双变量,因此这将为您提供预期值。 C ++有一个更强大的类型系统,因此积分除法总是会产生另一个整数。如果你想要浮点值的除法,你需要使用浮点文字(或者转换,但在这种情况下它不是必需的):
discount = amount * 10.0 / 100.0;
或者,如果float
足够精确:
discount = amount * 10.0f / 100.0f;