E' possibile utilizzare l'istruzione switch
per creare ramificazioni multiple nel codice. Viene mostrata una
generica forma dell'istruzione:
switch(scelta)
{
case
valore1: istruzione1; break;
case
valore2: istruzione2; break;
case
valore3: istruzione3; break;
case
valoreN: istruzioneN; break;
default:
istruzioneDefault;
}
L'istruzione verifica che il valore di scelta
con tutti i possibili valori (1,2,3, N) in ordine. Se scelta
non equivale a nessun valore,
viene eseguita l'istruzione di default;
altrimenti se equivale a uno dei valori nella lista, il programma
esegue le istruzioni corrispondenti. Il programma abbandona
l'istruzione switch
non appena esegue l'istruzione break.
L'uso di break o
default sono
opzionali, ma in questo modo il programma continuerà a controllare i
successivi rami dell'istruzione switch
sino al termine. Solitamente break
viene utilizzato alla fine di ogni ramo case.
E anche se default non
è obbligatorio, ci permette di tenere sotto controllo tutti i valori
possibili di scelta.
Qui viene dato un esempio che
mostra l'idea. Supponiamo che scelta
equivalga a valore2.
Il programma verifica che il valore di scelta equivalga a valore1,
non è così, quindi prosegue sull'istruzione. Di seguito verifica
che scelta equivale a
valore2, sono
identici, per cui viene eseguita istruzione2, sino
a che il programma non trova il break, ed esce dalla struttura dello
switch.
Presentare il programma Menu Scelta
Il programma Menu scelta presenta
all'utente una lista di tre livelli di difficoltà del programma e
gli chiede di effettuare una scelta. Se l'utente inserisce il numero
corrispondente ad una delle scelte in lista, viene visualizzato un
messaggio di conferma. Se l'utente effettua qualche altra scelta,
viene comunicato che si tratta di un valore non valido.
Il codice del semplice programma:
//Menu Scelta
//Dimostrazione istruzione switch
#include<iostream>
using namespace std;
int main()
{
int iScelta=0;
cout << “Livelli
difficolta'\n\n”;
cout << “1 – Facile\n 2 –
Normale\n 3 – Difficile\n”;
cout << “Scegli: ”; cin >>
iScelta;
switch (iScelta){
case 1: cout << “Hai scelto
Facile.\n”;
case 2: cout << “Hai scelto
Normale.\n”;
case 3: cout << “Hai scelto
Difficile.\n”;
default: cout << “Scelta non
valida.\n”;
}
system(“PAUSE”);
return EXIT_SUCCESS;
}
Nessun commento:
Posta un commento