PDA

View Full Version : [c]switch stesso case differenti valori?


natostanco
23-01-2011, 14:44
ho un programma che deve fare delle azioni in base al mese dell'anno...
quindi faccio uno switch per la variabile mese con:

case 1||3||5||7||8||10||11||12: //per i mesi con 31 giorni


break;

case 4||6||9: // e qui c'e' l'errore e mi dice che il case label e' gia' in uso...

ma e' possibile l'utilizzo dell'or in questo modo? o c'e' un'altro modo?

Shinnok.Exor
23-01-2011, 14:49
no non puoi farlo.
Risolveresti scrivendo i 3 case ed eseguendo la stessa funzione in ogni case, oppure scrivi 3 volte lo stesso codice (non molto consigliato se lavori con le funzioni)

natostanco
23-01-2011, 14:54
cioe' dovrei fare
case 1:
case 3:
case 5:
case 7:
ecc...

?
e per ogni case riscrivere lo stesso? ma verrebbe una cosa kilometrica :(

vabbe allora devo utilizzare una funzione a parte :s

Dânêl
23-01-2011, 15:04
non è necessario riscrivere il codice per ogni case.
Se per diversi valori devi eseguire lo stesso codice ti basta mettere i case in sequenza e a seguire il codice da eseguire es:


case 1:
case 3:
....
(tuo codice da eseguire)
break;

natostanco
23-01-2011, 15:15
ah bene, gia' cosi' si riduce un po', grazie :)