PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mit switch mehrere Bedingungen abfragen



mithras
08-11-2002, 19:02
Will wenn der User irgendeine Zahl, von 0-9 eine bestimmte einggibt, ein bestimmte Aktion starten.




switch (input)
{
case 'w'
{
irgendeincode
}

case ' 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9':
{
aktion
}
}



obiger code funktioniert leider nicht
Ich könnte ja theoretisch für jede Zahl ein extra case, also dann 10 casem und jehweils dann die aktion ausführen lassen. finde das aber umständlicher und vielleicht geht es ja anders!?

tuxipuxi
08-11-2002, 19:07
also willst du bei mehreren bedingungen das gleiche machen?
das waere so :
(wo sind die codetags hin):
switch(variable){

case 1:
case 2:
case 3:
{ anweisung};

}

edit:
oder wenns n char ist eben
case '1':
case '2':
//....

nobody0
10-11-2002, 18:57
Für sowas nimmt man normalerweise ein if z. B. so:

if ( ( c >= '0' ) && ( c <='9' ) )
{
mach_was();
}

tuxipuxi
10-11-2002, 19:34
Original geschrieben von nobody0
Für sowas nimmt man normalerweise ein if z. B. so:

if ( ( c >= '0' ) && ( c <='9' ) )
{
mach_was();
}
und wenn es 100 faelle gibt?
dann darf er fuer den rest massig else ifs schreiben

anda_skoa
10-11-2002, 19:53
Man kann in einem elfif oder else Teil immer noch ein switch verwenden.

Ciao,
_

nobody0
10-11-2002, 20:39
Das else braucht man ja nicht; c kann ja nicht gleichzeitig mehrere Werte haben und deshalb ist jeweils eindeutig welche if-Anweisung ausgeführt wird.
Nur wenn man die Laufzeit optimieren will braucht man else, aber man kann stattdessen auch goto nehmen.