View Full Version : [C] Primi passi con Switch/Case!
Ragazzi devo fare uno switch con 36 case, c'e' un modo per fare subito subito (EX. case (0 to 36)) ? Oppure devo scrivere per forza 37 volte Case 0: Case 1: Case 2: Case3 ecc.ecc. ? Ah poi un'altra cosa, come si fa a fare il Case in cui e' uguale al TASTO INVIO? Ho provato a fare "case '/n':" ma nn va!
:muro:
Che io sappia non c'è, ma puoi sempre fare:
if (n >= 0 && n <= 36) { }
Ah poi un'altra cosa, come si fa a fare il Case in cui e' uguale al TASTO INVIO? Ho provato a fare "case '/n':" ma nn va!
Dipende da che variabile stai "switchando", mostra il tuo switch
printf("\nInserisci il numero su cui vuoi puntare(0/36): ");
scanf("%d", &puntata);
fflush(stdin);
switch (puntata)
{
case "QUI VORREI METTERE DA 0 A 36":
printf("Quanto vuoi puntare? EURO: ");
scanf("%d", &euro1);
fflush(stdin);
break;
default:
printf("Il valore inserito non è valido.");
break;
POI VORREI METTERE CHE SE NELLO SCANF SOPRA CITATO PERMO INVIO SALTA TUTTO LO SWITCH E VA ALLA DOMANDA SUCCESSIVA!
}
printf("\nInserisci il numero su cui vuoi puntare(0/36): ");
scanf("%d", &puntata);
fflush(stdin);
switch (puntata)
{
case "QUI VORREI METTERE DA 0 A 36":
printf("Quanto vuoi puntare? EURO: ");
scanf("%d", &euro1);
fflush(stdin);
break;
default:
printf("Il valore inserito non è valido.");
break;
POI VORREI METTERE CHE SE NELLO SCANF SOPRA CITATO PERMO INVIO SALTA TUTTO LO SWITCH E VA ALLA DOMANDA SUCCESSIVA!
}
Lo switch/case va bene quando devi fare N cose diverse in base al case. Nel tuo caso non avrebbe molto senso! Inoltre tieni presente che siccome nella prima scanf hai usato %d, la scanf si aspetta un numero e se premi soltanto INVIO, non esce dalla scanf!!
L'ideale sarebbe prendere in input una stringa, verificare se è vuota (quindi uno ha premuto INVIO senza digitare alcun numero) e se non è vuota, convertire la stringa in numero e controllare che sia tra 0 e 36.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.