我是一個初學者,我創建了一個老虎機模擬器。車輪旋轉,x,y和z被設置爲隨機數。我有一個if語句來檢查x == y == z。當程序運行時,數字實際上是相等的,它運行我的代碼,說它們不相等。爲什麼會發生?(C++)隨機數是相等的,但程序說他們不是
例如,cout語句會說2 - 2 - 2,那麼它會在if語句不相等的時候進入我的if語句,並且我會得到「you lose」代碼。
我應該補充說,這不會每次都發生。有時候它們在平等的時候正確執行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,因爲它已被棄用。 –