Un programma destinato agli utenti ad un certo punto lo pone d’avanti ad una scelta e per sapere come creare un menu in linguaggio C; prima bisognerebbe studiarsi la parte che riguarda le istruzioni di selezione del C per poi optare sul costrutto più consono.
Le istruzioni di selezione in C
Nel linguaggio C è previsto il costrutto If Else e lo Switch per le istruzioni di selezione; come in tutti linguaggi di programmazione moderni. Sono due costrutti simili ma leggermente diversi; spesso ci si confonde su quale opzione sia la migliore ma per creare un menu in C da Shell penso che lo Switch è più appropriato.
Come creare un Menu in C
Per creare un menu in linguaggio C non dovrebbe essere necessario tenere d’ occhio il numero degli statement; uno Switch può supportare 257 statement, andare oltre mette a rischio l’ esecuzione del programma. In teoria Il limite non è dovuto al linguaggio ma a diversi fattori ad esempio:
- Il compilatore GNU GCC non pone limiti agli statement.
- Switchare su un tipo di dato CHAR ha un consumo di memoria diverso da un INT etc.
- Le risorse di memoria del PC hanno un limite.
Siccome non dobbiamo creare un Quiz ma un elenco di scelta ad opzioni se pur corposo ma limitato; non poniamoci il problema più di tanto e vediamo come creare un menu in linguaggio C. Per prima cosa hai bisogno che sul tuo PC sia installato un compilatore c, GNU GCC è gratuito e in Windows puoi usare MinGW GCC. Un IDE sarebbe di aiuto ma si può usare anche un editor di testo. Il blocco di codice di uno Switch in C è composto da:
- una variabile o una costante racchiusa tra parentesi tonde usata per il confronto.
- due parentesi graffe per contenere il blocco di codice.
- Tre Key Word (case, break e default).
Lo Switch
Uno switch si basa sul concetto di True & False (Vero o Falso) e dipende dal tipo di dato; la key word Case serve per il confronto, se TRUE viene eseguito il codice, Break serve ad uscire dallo Switch e Default per ritornare ad uno stato iniziale.
Qui puoi scaricare il codice di esempio per un menu scritto in linguaggio C con lo Switch.