C++ Lezione 5: switch ... case
So che questa probabilmente sarà una delusione, dopo avere imparato tutto sulle funzioni, ma switch ... case è importante da conoscere. Dopotutto, può salvare spazio con i comandi if, ed è utile. Inoltre, non riesco a pensare a qualche altra cosa da scrivere.
Switch ... case è così:
switch(espressione o variabile)
{
case è uguale a questo:
fai questo;
break;
case è uguale a questo:
fai questo;
break;
case è uguale a questo:
fai questo;
break;
...
default
fai questo
}
Quindi, funziona in questo modo. L'espressione o variabile ha un valore. Il case dice che se questo valore è uguale a quello che si trova dopo case allora compie l'azione che si trova dopo i due punti. Il break ordina di fermarsi e di uscire dal blocco case. Break è una parola chiave che ci porta fuori dal blocco di codice, racchiuso tra parentesi, nel quale si trova. Quindi, a meno che non vogliate controllare il case successivo, usate break.
Potete anche utilizzarlo per uscire da loops, cosa che ho dimenticato di dirvi a suo tempo.
A cosa serve switch...case? Bene, immaginate di dover scrivere un programma a menu, quindi dovete processare alcuni input, giusto? Ok, potete usare un blocco switch...case per processare più di un input, perché è più facile da usare di if.
Ecco un semplice programma:
#include <iostream.h>
#include <conio.h>
void main()
{
char input;
cout<<"1. Play game";
cout<<"2. Load game";
cout<<"3. Play multiplayer";
cout<<"4. Exit";
input=getch(); //Ricordatevi quando vi ho detto che non servono
//molte funzioni...
switch(input)
{
case 1:
playgame();
break;
case 2:
loadgame();
break;
case 3: //Notate l'uso di ":", non ";"
playmultiplayer();
break;
case 4:
break;
default:
cout<<"Errore, input errato: uscita";
}
}
Se non avete capito questo, allora provate ad inserire delle istruzioni if al posto delle istruzioni case. Inoltre, il motivo per cui l'uscita funziona con un break è che dopo che siete usciti dal blocco switch, allora ci può essere la fine del programma. La stessa cosa può dirsi per default. Se non vi piace questo metodo, allora fatevi un loop che faccia la stessa cosa. So di non aver messo il prototipo delle funzioni chiamate da switch, ma questo voleva essere un esempio molto semplice. Potete facilmente fare qualche piccola funzione.
---
Nota: La mia homepage è http://www.cprogramming.com. La mia email è webmaster@cprogramming.com. Vi prego di mandarmi una email con commenti e/o suggerimenti. Se volete usare questo tutorial nel vostro sito, vi prego di mandarmi una email e dia aggiungere un link a http://www.cprogramming.com.
Grazie :)