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
Please also mark the comments that contributed to the solution of the article
Content-Key: 58677
Url: https://administrator.de/contentid/58677
Printed on: April 27, 2024 at 02:04 o'clock
4 Comments
Latest comment
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