Я новичок, и я создал игровой автомат. Колесо свернуто, а x, y и z установлены на случайные числа. У меня есть оператор if, который проверяет, есть ли x == y == z. Когда программа запускается, и цифры на самом деле равны, она запускает мой код, который говорит, что они не равны. Почему это происходит?(C++) Случайные числа равны, но программа говорит, что они не
Например, инструкция cout скажет 2 - 2 - 2, тогда она переходит к моему оператору if, если они не равны, и я получаю код «вы теряете».
Я должен добавить, что это не происходит каждый раз. Иногда он правильно выполняет оператор if, когда он равен. Это очень странно.
srand(time(0));
int x = (rand() % 2) + 1;
int y = (rand() % 2) + 1;
int z = (rand() % 2) + 1;
std::cout << "The spin results are... " << x << " -- " << y << " -- " << z << std::endl << std::endl;
if(x == y == z)
{
std::cout << "You win!\n\n";
playerCoins = playerCoins + (coinsBet * 2);
}
else
{
std::cout << "You lose!\n\n";
}
Я предлагаю использовать оборудование заголовка вместо rand, поскольку он устарел. –