if (valg == 1 || 2 || 3) // validering af svaret { cin >> valg; // indtastning af valget } else { // hvis ikke, så hopper den ud
}
switch(valg) { case 1: start_spil(); // hvis der tastes 1, så startes spillet break; case 2: regler(); // hvis der tastes 2, så vises reglerne break; case 3: slut = 1; // hvis der tastes 3, så lukker spillet break; } } while(!slut); // Slut på løkke }
Efter man har skrevet 1 2 eller 3 ved menu punktet, så hopper den videre i programmet. Men den flipper ud hvis man skriver et bogstav. Hvordan gør jeg såen så den ikke gør dette???
Hvilket altid er tilfældet (to er ikke det samme som 0), det du ønsker er:
if(valg == 1 || valg == 2 || valg == 3)
Men du skal starte med at sætte valg til noget, så brugeren altid starter med at vælge noget. Jeg vill nok lave noget i stil med:
do // Do-while løkke { system("cls"); cout << ".....................................(Kalaha)..................................." <<endl; // overskrift cout << "1. Start" << endl << "2. Regler" << endl << "3. Slut" << endl << endl<< "Valg: "; //menuen cin >> valg; switch(valg) { case 1: start_spil(); // hvis der tastes 1, så startes spillet break; case 2: regler(); // hvis der tastes 2, så vises reglerne break; case 3: slut = 1; // hvis der tastes 3, så lukker spillet break; default: cout << "Ulovlig valg!" << endl; } } while(!slut); // Slut på løkke
Og husk den første gyldne regel for kommentarer: Lav ikke kommentarer for det indlysende.
Ville noget lignende som det her ikke virke? (jeg er C++ n00b så forvent ikke det store): Den vil her spørge om et nummer indtil det er et gyldigt et... Du kunne evt. indsætte en fejlbesked eller sådan noget.
int valg=0;
while( valg > 0 || valg < 4 ) //Den forlader ikke while() før nummeret indtastet er gyldigt { cin >> valg; }
switch(valg) { case 1: start_spil(); // hvis der tastes 1, så startes spillet break; case 2: regler(); // hvis der tastes 2, så vises reglerne break; case 3: slut = 1; // hvis der tastes 3, så lukker spillet break; }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.