2017-01-30 17 views
-8

enter image description here状態ならばfloat型の変数の値が間違ったために起こっている状態

場合フロート変数の値が間違ったために起こっている。.. doesntの問題であれば-1 ..それがあります変数が+1になるときに条件に進むだけ

+4

コードを投稿できますか? – GreatJobBob

+5

コードの画像ではなく、実際のコードを投稿してください。 –

+2

コードの画像を投稿しないでください。代わりに、質問の本文に実際のコードをテキストとしてコピーして貼り付けます。そして[良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)、[最小限の完全で検証可能な例]を作成する方法を学ぶ(http://stackoverflow.com/jp)/help/mcve)。 –

答えて

2

=の代わりに==を使用する必要があります。

c++では、代入演算子(=)は、割り当てられた値と等しい値を返します(a = b = cのようなものを書くことができます)。そのため、slope = 1はに等しく、boolに換算するとtrueになり、ifセクションに入ることになります。

+0

sooたくさんありがとうございます。私はすっごく愚かです –

2

あなたの割り当てられた値が条件であり、チェックしていません。まず、の代わりに==を使用してください。

2

=と==の間に違いがあります。 ifステートメントでは値をチェックしたいので、==を使うべきです。あなたのコード内

if(slope == 1) 
{ 
/*...*/ 
} 
+0

ありがとうso soo –

0

次の行は無効です。

if (slope = 0) 
    if (slope = +1) 
    if (slope = -1) 

あなたが代入演算子=の代わりに、等価演算子==を使用するためです。この結果、ifステートメントはslopeと値+1、0、-1の間で望ましい比較をしていません。

2つの値、2つの変数、または変数をif文の値と比較する必要がある場合は、等価演算子==を使用して、=で比較します。これにはいくつかの例外があります。次のページを参照してください: Variable assignment in “if” condition

ちょっとしたことに、私はあなたのコードにもっと空白を使うべきだと言いたいと思います。より読みやすくするのに役立ちます。また、そのスナップショットを投稿するのではなく、質問にコード自体を投稿してみてください。

幸運を祈る!

関連する問題