Menüauswahl in C
Hallo Zusammen, ich habe folgendes Testprogramm geschrieben:
Nun möchte ich gerne, dass es nach der Durchführung der Auswahl wieder zum Menü zurückkommt. Habe sowas schon mal in der Schule gemacht, aber wieder vergessen.
Danke für Ihre Hilfe.
Lg, Kristina
*EDIT*Neue Version***
Die Kästchen werden automatisch 2 Mal ausgeführt....nein...nicht die Kästchen, die Menüauswahl wird doppelt ausgeführt, beim zweiten Mal ohne Zeichen-Eingabe...ich weiss nicht warum. Kann mir jemand helfen???
Lg, Kristina
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main () {
printf ("Waehlen Sie ein Menu aus:\n\n");
printf ("1. \n");
printf ("2. \n");
printf ("3. \n");
printf ("4. \n");
printf ("5. \n");
printf ("6 Beenden\n\n");
printf ("Bitte Ihre Wahlnummer eingeben: ");
char c;
c = getchar ();
switch (tolower (c)) {
case '1':
printf ("\nTest\n\n");
break;
case '2':
printf ("\nTest\n\n");
break;
case '3':
printf ("\nTest\n\n");
break;
case '4':
printf ("\nTest\n\n");
break;
case '5':
printf ("\nTest\n\n");
break;
case '6':
printf ("\nDas Programm wird beendet!\n\n");
break;
default:
printf ("\n\nFalsche Eingabe\n\n");
break;
}
system ("PAUSE");
return 0;
}
Nun möchte ich gerne, dass es nach der Durchführung der Auswahl wieder zum Menü zurückkommt. Habe sowas schon mal in der Schule gemacht, aber wieder vergessen.
Danke für Ihre Hilfe.
Lg, Kristina
*EDIT*Neue Version***
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main () {
bool verlassen = false;
do {
printf ("Waehlen Sie ein Menu aus:\n\n");
printf ("1. \n");
printf ("2. \n");
printf ("3. \n");
printf ("4. \n");
printf ("5. \n");
printf ("6 Beenden\n\n");
printf ("Bitte Ihre Wahlnummer eingeben: ");
char c;
c = getchar ();
switch (tolower (c)) {
case '1':
printf ("\nTest\n\n");
break;
case '2':
printf ("\nTest\n\n");
break;
case '3':
printf ("\nTest\n\n");
break;
case '4':
printf ("\nTest\n\n");
break;
case '5':
printf ("\nTest\n\n");
break;
case '6':
printf ("\nDas Programm wird beendet!\n\n");
verlassen = true;
break;
default:
printf ("\n\nFalsche Eingabe\n\n");
break;
}
} while (!verlassen);
system ("PAUSE");
return 0;
}
Die Kästchen werden automatisch 2 Mal ausgeführt....nein...nicht die Kästchen, die Menüauswahl wird doppelt ausgeführt, beim zweiten Mal ohne Zeichen-Eingabe...ich weiss nicht warum. Kann mir jemand helfen???
Lg, Kristina
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 58677
Url: https://administrator.de/forum/menueauswahl-in-c-58677.html
Ausgedruckt am: 09.01.2025 um 22:01 Uhr
4 Kommentare
Neuester Kommentar
Ich würde kein
Do{
...
}While(...)
sondern ein
While(...)
{
...
}
machen.
zum Break:
der break ist so richtig, sonst würde er z.B. nach dem case 3 (wenn du dort das break vergessen solltest) direkt weiter in Case 4 laufen und das dort auch ausführen. Könntest es aber je nach Anwendungsfall aber auch absichtlich weglassen z.b. bei irgentwelchen Automaten im Initiallisierungsschritt.
miniversum
Do{
...
}While(...)
sondern ein
While(...)
{
...
}
machen.
zum Break:
der break ist so richtig, sonst würde er z.B. nach dem case 3 (wenn du dort das break vergessen solltest) direkt weiter in Case 4 laufen und das dort auch ausführen. Könntest es aber je nach Anwendungsfall aber auch absichtlich weglassen z.b. bei irgentwelchen Automaten im Initiallisierungsschritt.
miniversum