2016-07-18 7 views
-3

私は初心者にMicrosoft Visual Studio 2015の番号を推測させています。推測された数がランダムに生成された数と同じではない場合、どうすればいいですか?私はプログラムを実行し、推測すると、それは両方の場合 "< < cout。私はいくつかの助けを借りてもらえますか?プログラムのチェックをする方法C++

#include <iostream> 
#include <ctime> 
#include <random> 
#include <string> 

using namespace std; 

int main() { 

int guessNumber; 
int guess; 

mt19937 numGen(time(NULL)); 

uniform_int_distribution<int> findNum(1, 10); 

cout << "Welcome to Guess the Number\n" << endl << "Your Guess : "; 
cin >> guess; 

if (guess = findNum(numGen)) { 
    cout << "\nNice Job" << endl; 
} 

else if (guess != findNum(numGen)) { 
    cout << "\nGood Try" << endl; 
} 

system("PAUSE"); 
return 0; 
} 
+0

あなたは 'if(guess == findNum(numGen)){'? –

+0

あなたは '推測== findNum(numGen)'を意味すると思います。さらに、 'findNum(numGen)'を一度だけ行うべきです。 – DimChtz

+0

乱数を1回だけロールする必要があります。あなたが現在それを書いているように、プレイヤーは2つの異なる乱数で推測を2回比較しようとしているので、同時に正しく推測して正しく推測することはできません – user463035818

答えて

2

比較のために==が必要です。このため、警告を持っている必要があり、この

if (guess == findNum(numGen)) 

どれでも合理的なコンパイラにこの

if (guess = findNum(numGen)) 

を変更します。設定を確認してください。範囲は1から10までですので、常にゼロ以外であり、真とみなされます。

元の行はguessに割り当てられ、その値を確認します。ゼロでないときはいつでも、最初のブランチが選択されます。

+3

これらの質問は、一般的に今後の研究には役に立たないと考えられます。あなたの最寄りの投票を使用するか、重複を検索しますが、答えはしません。 –

関連する問題