Ich mache eine einfache Lotterie-Spiel-Anwendung, wo drei Zufallszahlen zwischen 0 und 10 generiert werden, wenn der Benutzer alle drei in der richtigen Reihenfolge erhält, erhalten sie 1 Million. Wenn sie eine richtig bekommen, gewinnen sie 10 Dollar, und wenn sie alle drei, aber nicht in der richtigen Reihenfolge bekommen, gewinnen sie eintausend, wenn zwei zusammenpassen, bekommen sie $ 1.000. und wenn sie nicht richtig sind, bekommen sie nichts.Was ist falsch an diesem C++ Code Lottery Ratespiel?
Hier ist mein Code hier.
int main() {
cout << "Hello, this is the lottery! Three random numbers between 0 and 10 will be generated. Guess what they are and the order!" << endl;
char answer;
cout << "Do you want to play? (y or n): " << endl;
cin >> answer;
while (answer == 'y' || 'Y')
{
srand((unsigned)time(NULL));
int ran1 = rand() % 10;
int ran2 = rand() % 10;
int ran3 = rand() % 10;
int guess1, guess2, guess3;
cout << "Enter your first number guess: " << endl;
cin >> guess1;
cout << "Enter your second number guess: " << endl;
cin >> guess2;
cout << "Enter your third number guess: " << endl;
cin >> guess3;
if ((guess1 != ran1 || ran2 || ran3) && (guess2 != ran1 || ran2 || ran3) && (guess3 != ran1 || ran2 || ran3))
cout << "You won no money. Sucks for you." << endl;
else
if ((guess1 == ran1 || ran2 || ran3) || (guess2 == ran1 || ran2 || ran3) || (guess3 == ran1 || ran2) || ran3)
cout << "You won 10 dollars!" << endl;
else
if ((guess1 && guess2 == ran1 && ran2) || (guess1 && guess3 == ran1 && ran3) || (guess2 && guess3 == ran2 && ran3))
cout << "You won 100 dollars!" << endl;
else
if ((guess1 == ran1 || ran2 || ran3) && (guess2 == ran1 || ran2 || ran3) && (guess3 == ran1 || ran2 || ran3))
cout << "You won 1 thousand dollars! good job!" << endl;
else
if ((guess1 == ran1) && (guess2 == ran2) && (guess3 == ran3))
cout << "You won 1 million dollars! jackpot!" << endl;
cout << "The numbers were " << ran1 << "," << ran2 << "," << ran3 << endl;
cout << "Play again?(y or n): " << endl;
cin >> answer;
if (answer == 'y')
continue;
else
break;
}
cout << "Game Over" << endl;
system("pause");
return 0;
}
, wenn ich diesen Code ausführen, die Dinge nicht richtig mit den Entscheidungen. Alles was es sagt ist: "Du hast kein Geld gewonnen. Es ist schlecht für dich". Idk was ist los vielleicht ist es etwas einfaches aber kann jemand helfen? Vielen Dank.
'guess1! = Ran1 || ran2 || ran3' macht nicht das, was du denkst – vu1p3n0x
was ist los damit? –
siehe Sadovsky's Antwort unten, auch sollten Sie die Reihenfolge Ihrer 'if's ändern, wie es ist, auch wenn Sie alle Vermutungen richtig haben, würden Sie $ 10 gewinnen, weil es die Bedingung erfüllt (und seine davor) – vu1p3n0x