重複の可能性:
浮動小数点の比較はどのようにすればよいですか?
これはコードのスニペットであり、何が問題なのか理解できません。
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)
問題全体を取得するためのスクリーンショットを次に示します。
ユーザーがすべての値を入力した後、コードが開始されます。
ありがとう、どんな助けでも大歓迎です!