Switch Problem
-
Hi
zuerstmal der Code
int eingabe_auswerten(int i_neu, int i_laden, int i_schliessen, int i_speichern, int i_bearbeiten, int i_suchen, int i_loeschen, int i_beenden) { int i_auswahl, i_exit = 0; char c_auswahl; while(i_exit==0) { printf("\nBitte waehlen Sie einen Menu-Punkt (zurueck zum Menu mit 3): "); scanf("%c", &c_auswahl); if (c_auswahl > 33) { i_auswahl = eingabe_pruefen(c_auswahl)-48; switch(i_auswahl) { case 1: neu(); break; case 2: oeffnen_menu(); break; case 3: menu_ausgeben(1,1,0,0,0,1,1,1); break; case 4: speichern(); break; case 5: break; case 6: suchen(); break; case 7: loeschen(); break; case 8: printf("\nProgramm wurde beendet\n"); i_exit=1; break; default: printf("Auswahl nicht definiert\n"); break; } scanf("%c", &c_auswahl); } } return 0; }
Im Funktionskopf übergebe ich 8 Werte, die entweder 1 oder 0 sind.
Nun sieht mein Problem so aus: Nur wenn z.b. i_neu == 1 ist , soll case 1: aktiviert sein, ansonsten nicht. usw bis zu i_beenden.Hab schon versucht, ne if bedingung vor jedes case zu setzen, hat aber nicht funktioniert
Wie kann man das lösen
Vielen Dank
[ Dieser Beitrag wurde am 11.11.2002 um 20:39 Uhr von Bernd_K editiert. ]
-
Hi,
mach doch eine if-Abfrage innerhalb einer case-Verzweigung:
switch ( ... ) { case 1: if ( ... ) //tue was break; }
mfg
v R