Je continue à obtenir "Initializer attendu avant" si "" si "" Erreurs "Si" Si quelqu'un me demandait si quelqu'un peut m'aider avec ce problème? J'ai cette mission de travail qui vous demande essentiellement de gérer un jeu de ciseaux de papier rocheux avec 2 joueurs.
#include <iostream> int main() { int x, y; std::cout << "Player 1 enter rock(1), paper(2), scissors(3):"; std::cin >> x; std::cout << "Player 2 enter rock(1), paper(2), scissors(3):"; std::cin >> y; } if ( x==1 ) and ( y==2 ) { std::cout << "Player 2 Wins! Paper Covers Rock!!\n"; } else if ( x==1 ) and ( y==3 ) { std::cout << "Player 1 Wins! Rock Breaks Scissors!!\n"; } else if ( x==1 ) and (x==1) { std::cout << "Tie with rock!\n"; } else if ( x==2 ) and ( y==3 ) { std::cout << "Player 2 Wins! Scissors Cut Paper!!\n"; } else if ( x==2 ) and ( y==1 ) { std::cout << "Player 1 wins! Paper Covers Rock!!\n"; } else if ( x==2 ) and ( y==2 ) { std::cout << "Tie with Paper!\n"; } else if ( x==3 ) and ( y==1 ) { std::cout << "Player 2 wins! Rock Breaks Scissors!!\n"; } else if ( x==3 ) and ( y==2 ) { std::cout << "Player 1 wins! Scissors Cut Paper!!\n"; } else if ( x==3 ) and ( y==3 ) { std::cout << "Tie with Scissors!"; } else if (x>3){ std::cout << "Invalid move!!\n"; } else if (y>3){ std::cout << "Invalid move!!\n"; } return 0 }
4 Réponses :
Tout le code doit être dans {} Bretelles de la fonction code> principale code>. p>
Aussi, utilisez si code> le code doit avoir () entre parenthèses enveloppant toute l'expression. C'est donc
si ((x == 1) && (x == 2)) {...} code> au lieu de
si (x == 1) && (x == 2) { ...} code>. p>
&& code> au lieu de
et code> et
|| code> au lieu de
ou p>. p>.
Retirez le brace de fermeture
if ( ( x==1 ) and ( y==2 ) ) {
Mieux vaut garder && code> dans la réponse au lieu de mal syntaxiquement erroné
et code>
si ((x == 1) et (y == 2)) { code>
Ah! Pardon. Je ne savais jamais que nous pouvons utiliser et code>.
@ Wander3r en C ++ Ceci est un jeton alternatif. En C, vous devez inclure l'en-tête
#include <iostream> using namespace std; int main() { int x, y; cout << "Player 1 enter rock(1), paper(2), scissors(3):"; cin >> x; cout << "Player 2 enter rock(1), paper(2), scissors(3):"; cin >> y; if ( x == 1 && y == 2 ) { cout << "Player 2 Wins! Paper Covers Rock!!\n"; } else if ( x == 1 && y == 3 ) { cout << "Player 1 Wins! Rock Breaks Scissors!!\n"; } else if ( x == 1 && y == 1) { cout << "Tie with rock!\n"; } else if ( x == 2 && y == 3 ) { cout << "Player 2 Wins! Scissors Cut Paper!!\n"; } else if ( x == 2 && y == 1 ) { cout << "Player 1 wins! Paper Covers Rock!!\n"; } else if ( x == 2 && y == 2 ) { cout << "Tie with Paper!\n"; } else if ( x == 3 && y == 1 ) { cout << "Player 2 wins! Rock Breaks Scissors!!\n"; } else if ( x == 3 && y == 2 ) { cout << "Player 1 wins! Scissors Cut Paper!!\n"; } else if ( x == 3 && y == 3 ) { cout << "Tie with Scissors!"; } else cout << "Invalid move!!\n"; return 0; } I had my professor help me but thanks for the help guys!!
"Erreur d'indentation" Placez simplement le support de fermeture de la fonction principale de manière appropriée à la fin.
int main() { //all your logic here . . } // closing brace
Vous avez fermé le corps de
principal () code> avant le premier
si code>
Utilisation
et code> au lieu de
&& code> en C ++ est plutôt atypique. Le premier conduit à des problèmes avec la priorité de l'opérateur dans des expressions plus compliquées.
C'est pourquoi il est important de dédenter correctement.
Oh ok où devrais-je placer les parenthèses?
La première étape consiste à supprimer l'errance
} code> après
std :: cin >> y; code>