0
現在ロック、ペーパー、はさみプログラムで作業しています。 getComputerChoice、getUserChoice、displayChoice、およびdecideWinnerの4つの関数を含める必要があります。私は現在displayChoiceに固執していますが、私は文字列を使ってユーザが選択した "Weapon"を表示すると思っていましたが、動作していません。どんな助力/フィードバックも大変ありがとうございます。ありがとうございます。文字列が関数内に印刷されていません
#include <iostream>
#include <cstdlib>
#include <time.h>
#include <string>
using namespace std;
void getComputerChoice(int& computerChoice);
int getUserChoice(int userChoice);
void displayChoice(int userChoice, int computerChoice);
int main()
{
int userChoice = 0, computerChoice;
getUserChoice(userChoice);
getComputerChoice(computerChoice);
displayChoice(userChoice, computerChoice);
return 0;
}
int getUserChoice(int userChoice)
{
cout << "Game Menu\n"
<< "-----------\n"
<< "1. Rock\n"
<< "2. Paper\n"
<< "3. Scissors\n"
<< "4. Quit\n"
<< "Enter your choice (1-4):";
cin >> userChoice;
return (userChoice);
}
void getComputerChoice(int& computerChoice)
{
srand(time(NULL));
computerChoice = (rand() % 3) + 1;
}
void displayChoice(int userChoice, int computerChoice)
{
string uChoice;
if (userChoice == 1)
uChoice = "Rock";
else if (userChoice == 2)
uChoice = "Paper";
else if (userChoice == 3)
uChoice = "Scissors";
cout << "You selected :" << uChoice << endl;
cout << "The computer selected :" << computerChoice << endl;
}
'userChoice'は常に' getUserChoice'から値を取得しません。 – George
は 'userChoice = getUserChoice(userChoice)'を実行することで修正されました。ありがとう、トン! – Ivan
また、あなたは 'getUserChoice(int)'のためのパラメータを必要としません、とにかく入力を上書きするだけで、あなたは参照渡しでもありません。これを 'userChoice = getUserChoice()'にすることもできます。これは同じように動作します。関数定義を更新するようにしてください。 –