Instrukcja switch - jedna instrukcja dla kilku wartości

0

Hey,
Mam takie pytanko: jest sobie pętla switch typu:

int x;
cin>>x;
switch(x){
case 1:
//rob coś
break;
case 2:
//rob coś innego
break;
default:
//nic nie rób
} 

Moje pytanie brzmi:
a jak zrobić, żeby było coś robione, gdy x = 1,2 lub 3, a gdy x = 4,5 to jeszcze coś innego a gdy x>5 ale x<10 to jeszcze coś innego itd?
Czy da się coś takiego w ogóle zrobić?
Próbowałem w tej sposób:

switch(x){
case (1||2||3):
//rob cos
break;
case (4||5):
//...
//...
}

ale nie działa!
Pozostaje tylko coś takiego:

switch(x){
case 1: case 2: case 3:
//rob coś
break;
case 4: 5:
//rob coś innego
//...
} 

ale dla bardziej skomplikowanych warunków lub dla większej ich ilości to nie ma sensu... Czy wówczas jedynym wyjściem jest użycie if-a? Czy da się to może jakoś zrobić przy pomocy switcha?
Pozdrawiam

1

Tak, trzeba użyć ifa. A switch to NIE jest pętla. Pętle to do, while i for.

0

ohh right, małe przejęzyczenie ;)
pozdrawiam i dzięki za szybką odpowiedź

0

To widzę ,że w pascalu jest w tym przypadku lepiej bo można:

 case x of
    1..10: Writeln('od 1 do 10');
    11..20: Writeln('od 11 do 20');
  end;

A myślałem ,że w c++ jest wygodniej pod każdym względem :D

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.