Вот мой код:
#include <iostream>
using namespace std;
#include <ctime>
#include <cstdlib>
int main()
{
srand(time(0));
char computerChoice;
switch ( rand()%3)
{
case 0:
computerChoice = 'R';
case 1:
computerChoice = 'P';
case 2:
computerChoice = 'S';
}
cout << computerChoice;
}
Я продолжаю получать "S" для computerChoice каждый раз, когда программа запускается, и если я зацикливаю программу, я все равно получаю "S".
Добро пожаловать в StackOverflow!
Вы должны break;
после каждого case
. См. Этот учебник для получения дополнительной информации.
Вы получаете тот же ответ, потому что вы забыли оператор break, т.е.
switch ( rand()%3)
{
case 0:
computerChoice = 'R';
break;
case 1:
computerChoice = 'P';
break;
case 2:
computerChoice = 'S';
break;
}
}
<random>
. Кроме того, я полагаю, ваш компилятор может сообщить вам о проблеме с более высоким уровнем предупреждения.char computerChoice = "RPS"[rand()%3];