if Bedingung innerhalb Schleifen Abfrage Menü

Krikus

Mitglied
Hi,

ich habe da ein kleines Menü.
Das Problem ist, dass er in der 2. for-SChleife die If-Bedingung nicht ausführt, und
PHP:
cout <<"Test_innen";
wiedergibt.
Hier der Problem Code: (Achtung nur Ausschnitt. Deswegen auch nciht alle Variablen deklariert:

PHP:
        int auswahl;

        do{
            system("cls");
            cout << "Karten eines Spielers anschauen" <<endl;
			for (int i=1;i<=anzahlSpieler;i++)
			{
            cout <<"("<<i<<") Karten von Spieler "<<i<<endl;
			}
            cout <<"(0) zurueck zum Hauptmenue"<<endl;
            cout <<"Auswahl (0-"<<anzahlSpieler<<"): " ;
            auswahl=getch();
			
			for (int i=1;i<anzahlSpieler;i++)
			{//cout <<"Test_außen";
				if(auswahl==i)
				{
					system("cls");
					cout <<"Test_innen";
				
					getch();
				}
			}
        }while(auswahl != '0');
 
Ich weiß jetzt warum, und habe die 2 For-Schleife nun auch abgeändert, aber schön ist das nicht.

PHP:
for (int i=49;i<=49+anzahlSpieler;i++)

gibts da nicht eine andere Möglichkeit?
 
Ich weiß jetzt warum, und habe die 2 For-Schleife nun auch abgeändert, aber schön ist das nicht.

PHP:
for (int i=49;i<=49+anzahlSpieler;i++)

gibts da nicht eine andere Möglichkeit?
Ja. Erstens verwendet man keine Magic Numbers im Code. Es weiß doch keiner mehr was 49 bedeutet.

C:
#include <ctype.h>

int c;

while ((c = getch()) != EOF && !isdigit(c)) {
  puts("Bitte eine Ziffer drücken.");
}

if (c != EOF) {
  int nr = c - '0';
  
  if (nr <= anzahlSpieler) {
  }
}
Gruß
 
Zurück