そこで、C ++でコイントスツールを作成しましたが、コンソールは常にすべてのコインをヘッドとして、またはすべてのコインをテールとして返します。コードは次のとおりです。
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <string>
using namespace std;
int main() {
srand(time(nullptr));
int FLIP_RESULT = rand() % 2 + 1;
int NUMBER_OF_FLIPS = 0;
cout << "Welcome to Coin Flipper. How many coins would you like to flip?"
<< endl;
cin >> NUMBER_OF_FLIPS;
for (int COUNTER = 0; COUNTER < NUMBER_OF_FLIPS; COUNTER++) {
if (FLIP_RESULT == 1) {
cout << "Heads." << endl;
} else if (FLIP_RESULT == 2) {
cout << "Tails." << endl;
} else {
cout << "Error." << endl;
}
}
return 0;
}
どうしたの?
あなたは宣言しました:
int FLIP_RESULT = rand() % 2 + 1;
コードの開始時に。これは、ユーザーが入力したフリップの数に関係なく、プログラムの開始時にフリップが1回だけ発生することを意味します。
FLIP_RESULTをforループの最初の行としてランダム化してみてください。そうすれば、それが機能していることがわかります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加