可能重复:
我应该如何进行浮点比较?
这是一段代码,我不知道它有什么问题。
if 语句正在错误地评估数字并转到“else”。
double m,k;
m = (y3-y1)/(x3-x1);
k = m*(-x1)+y1;
cout <<"\n\n"<< m <<" "<< k << "\n";
cout <<"\n\n"<< ((-a)/b) <<" "<< c/b << "\n";
if(m==((-a)/b) && k==c/b)
{
cout << "\nTaisne sakrīt ar kādu no trīsstūra malām!" << endl;
goto beigas;
}
else
cout << "\n\n WRONG \n\n";
用户输入值 x1,y1,x3,y3,a,b,c - 都是double。
它似乎只适用于“m”。奇怪的是,当我尝试以下操作时,if 语句在相同的值下为真:
if(m==((-a)/b) && k<c/b)
这是解决整个问题的屏幕截图:
代码在用户输入所有值后开始。
谢谢,任何帮助将不胜感激!