Programmazione » C » Utilizzo del costrutto if-else-if per gestire le scelte multiple

Utilizzo del costrutto if-else-if per gestire le scelte multiple

Difficoltà: Apprendista Scritto da Michele Sassi
Sito Web: http://www.comefaccio.net E-Mail
Questo tutorial è stato letto 1204 volte




Quando si ha a che fare con una scelta multipla viene lecito pensare all'utilizzo del costrutto switch. Tuttavia, quando il valore di una variabile non è costante bensì un'espressione algebrica e si vuole comunque effettuare una scelta tra più casi, è possibile raggirare l'ostacolo utilizzando il costrutto if-else if-else.

In sostanza si inserisce nella condizione dell'if un primo caso, si inseriscono in seguito tanti else if quanti sono i casi rimanenti, dopodichè si chiude il tutto con l'else finale che gestisce tutte le situazioni non elencate precedentemente.

Eccone brevemente la sintassi:

if (condizione) {
istruzioni
}
else if (condizione) {
istruzioni
}
...
...
else if (condizione) {
istruzioni
}
else {
istruzioni
}

Nel listato che segue implementeremo questo costrutto per creare un programma (a dire il vero poco utile) che ci classifica un voto espresso in trentesimi con un giudizio (insufficiente, sufficiente, discreto, buono, ottimo, ottimo con lode).

Dopo aver chiesto all'utente di inserire un voto, viene recuperato tale valore in una variabile chiamata appunto "voto" e, mediante la scelta multipla, verrà stampato a video il giudizio corrispondente.

#include <stdio.h>
#include <stdlib.h>

main ()
{
/* visualizzo il titolo del programma */
printf("GIUDIZIO ESPRESSO IN BASE AL VOTO IN TRENTESIMI\n");

/* dichiaro la variabile da utilizzare */
int voto;

/* offro il prompt per l'inserimento del voto e recupero il valore */
printf("\n\n\n");
printf("Immettere il voto ottenuto: ");
scanf("%d", &voto);

/*
confronto il voto ottenuto con i vari casi
per definizione pongo la lode pari al voto 33
*/
if (voto < 18)
printf("Il voto e' insufficiente");
else if ((voto >= 18) && (voto < 21))
printf("Il voto e' sufficiente");
else if ((voto >= 21) && (voto < 24))
printf("Il voto e' discreto");
else if ((voto <= 24) && (voto < 27))
printf("Il voto e' buono");
else if ((voto >= 27) && (voto < 31))
printf("Il voto e' ottimo");
else if (voto == 33)
printf ("Hai avuto il massimo con la lode");
else
printf("Hai inserito un valore non corretto");

printf("\n\n");

system("pause");
return(0);
}

Il listato è ben commentato e non credo meriti ulteriori chiarimenti. Per qualsiasi delucidazione in merito resta disponibile il Forum di discussione.

Aggiungi questo tutorial ai preferiti! Aggiungi questo tutorial ai preferiti


SEGNALA QUESTA RISORSA AD UN AMICO
Tuo nome
Tua mail
Nome amico
Mail tuo amico
Google
AREA UTENTI
E-MAIL PASSW
Perso la password?
I TUTORIAL PIU' LETTI
GIF ANIMATE
Script Gratis!
Spot

Sito Service
Tutorial per realizzare un sito web partendo da zero e script Asp per Aruba Server.

Tutorials & scripts
Articoli su HTML, CSS, PHP, ASP, Javascript, MySQL a cura di AG web solutions!

Guida Prestiti e Carte di credito
Giochi flash free
Giochi gratis online
Ricette di cucina gratis
Migliori torrent italiani
Notizie Dieta e Diete Alimentari

Cerca con Google