Programmazione D - Istruzione Switch
UN switchconsente di verificare l'uguaglianza di una variabile rispetto a un elenco di valori. Ogni valore è chiamato caso e per ciascuno di essi viene controllata la variabile attivataswitch case.
Sintassi
La sintassi per a switch L'istruzione nel linguaggio di programmazione D è la seguente:
switch(expression) {
case constant-expression :
statement(s);
break; /* optional */
case constant-expression :
statement(s);
break; /* optional */
* you can have any number of case statements */
default : /* Optional */
statement(s);
}
Le seguenti regole si applicano a un file switch dichiarazione -
Il expression utilizzato in a switch deve avere un tipo integrale o enumerato o essere di un tipo di classe in cui la classe ha una singola funzione di conversione in un tipo integrale o enumerato.
È possibile avere un numero qualsiasi di istruzioni case all'interno di uno switch. Ogni caso è seguito dal valore da confrontare e da due punti.
Il constant-expression per un caso deve essere lo stesso tipo di dati della variabile nello switch e deve essere una costante o un valore letterale.
Quando la variabile da attivare è uguale a un caso, le istruzioni che seguono quel caso vengono eseguite finché a break viene raggiunta la dichiarazione.
Quando un break viene raggiunta, lo switch termina e il flusso di controllo salta alla riga successiva dopo l'istruzione switch.
Non tutti i casi devono contenere un file break. Se nobreakappare, il flusso di controllo passa ai casi successivi fino a quando non viene raggiunta una pausa.
UN switch l'istruzione può avere un optional defaultcaso, che deve apparire alla fine dell'interruttore. Il caso predefinito può essere utilizzato per eseguire un'attività quando nessuno dei casi è vero. Nobreakè necessario nel caso predefinito .
Diagramma di flusso
Esempio
import std.stdio;
int main () {
/* local variable definition */
char grade = 'B';
switch(grade) {
case 'A' :
writefln("Excellent!" );
break;
case 'B' :
case 'C' :
writefln("Well done" );
break;
case 'D' :
writefln("You passed" );
break;
case 'F' :
writefln("Better try again" );
break;
default :
writefln("Invalid grade" );
}
writefln("Your grade is %c", grade );
return 0;
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
Well done
Your grade is B