Qui usiamo IF ELSE IF poi uso il DO WHILE per far girare il programmino
Intanto vediamo la formulazione come si usa :
if (condizione)istruzione;
else if (condizione) istruzione;
else if (condizione)istruzione
.
.
else istruzione
Come già visto con #IF comando del preprocessore, ora vediamo il vero confronto
fatto da IF questo comando può essere
sostituito dal ? come detto già IF vuol dire SE e allora SE A
> B facciamo questo, poi c’era #ELSE,
anche ora c’è ELSE che diceva OPPURE facciamo quest’altro , anche qui esiste il
ELSE IF ecco un esempio pratico dell’ l’
uso di IF completo con le varie scelte … un If semplice con una scelta la base :
---------------------------------------- Programma ----------------
#include<stdio.h>
#include<stdlib.h>
main()
{
int a = 3, b = 5, c= 8, d = 10, sca; //sca è una variabile = scatola
/*
ho delle scatole a,b,c,d Scatole =Variabili con dentro dei prodotti ora vediamo il suo contenuto usando IF semplice
*/
printf("Abbiamo 4 scatole con diversi prodotti\n quale scatola desideri vedere -
-\n(a=1, b=2 ,c=3 ,d=4 ) scelta ? ");
scanf("%d",&sca);
if (sca == 1)
printf(" Qui abbiamo la variabile = scatola A,\nal suo interno c'e':%d pezzi \n", a);
printf("\n ByMpt-Zorobabele \nFine istruzione IF \n");
system("pause");
}
------------------------------------------------ Fine programma ---------------
Ora lo faremo con 2 scelte A e B introducendo solo un ELSE e cambio solo il corpo dell’ IF ecco l’ esempio inserisco solo l’ IF e ELSE semplice :
------------------------------------------------------------ programma ----------------
if (sca == 1)
printf(" Qui abbiamo la variabile = scatola A,\n al suo interno c'e':%d pezzi \n", a);
else // logicamente se sca non è == 1 , è 2 allora scatola b
printf(" Qui abbiamo la variabile = scatola B,\n al suo interno c'e':%d pezzi \n", b);
----------------------------------------- fine programma ----------------------------
Ora vediamo un IF annidato con 2 IF e un ELSE su ogni IF va la condizione ora possiamo fare 3 scelte scatola A,B,C ( MI RACCOMANTO DENTRO LA SCELTA SI DEVE USARE IL CONFRONTO == E NON = CHE SI USA PER L’ ASSEGNAZIONE ) anche qui inserisco solo il corpo
dell’ IF , IF, ELSE e inserisco solo questa funzione tra il vecchio IF e ELSE :
if (sca == 3 ) + condizione
ecco il programma modificato :
------------------------------------------------
if (sca == 1)
printf(" Qui abbiamo la variabile = scatola A,\n al suo interno c'e':%d pezzi \n", a);
if (sca == 3 )
printf(" Qui abbiamo la variabile = scatola C,\n al suo interno c'e':%d pezzi \n", c);
else
printf(" Qui abbiamo la variabile = scatola B,\n al suo interno c'e':%d pezzi \n", b);
-------------------------------------------- fine programma
Quando chiamiamo IF – ELSE ecc… il compilatore stesso ci inserisce le graffe noi scriviamo
dentro queste graffe e rispettate le posizioni ora vediamo tutto IF ELSE IF e ELSE per tutte le 4 scelte inoltre uso il DO WHILE (scelta) per far girare il piccolo programma , 2 cose importanti nella programmazione in C è == e non = come già detto poi ricordarsi nello SCANF di inserire &
scanf(“%d”,&s) importante che la “%d” non ci deve essere spazi “ %d ”cosiè sbagliato , altrimenti quando mettiamo la nostra scelta il programma aspetta
il secondo numero o scelta e il compilatore non dice nulla nella compilazione, ecco il testo integrale del programmino :
----------------------------------- programma ----------------------------------------
#include<stdio.h>
#include<stdlib.h> //libreria che legge il system(pause)
int s; //variabile che userò nella scelta per il DO WHILE
main()
{
int a = 3, b = 5, c = 8, d = 10, sca; //sca è una variabile = scatola
/*ho delle scatole a,b,c,d Scatole = Variabili con dentro dei prodotti ora-
-vediamo il suo contenuto usando IF semplice
*/
do
{
printf("Abbiamo 4 scatole con diversi prodotti\n quale scatola desideri vedere -
-\n(a=1,b=2 ,c=3 ,d=4 ) scelta ?");
scanf("%d", &sca);
if (sca == 1) //prima verifica se la scatola è == 1
{
printf("Scatola A dentro c'e' il numero %d ", a);
}
elseif (sca == 2) //seconda verifica
{
printf("Scatola B dentro c'e' il numero %d ", b);
}
elseif (sca == 3)// terza verifica
{
printf("Scatola C dentro c'e' il numero %d ", c);
}
else //se non è 1,2,3, è l'altra la 4 pacco d
printf("Scatola D dentro c'e' il numero %d ", d);
// domanda per far girare il programma con il DO WHILE
printf("\n Desideri vedere altra scatola ? S=1 o N=0 ");
scanf("%d",&s);
} while ( s == 1 );
printf("\n\n [ ByMpt-Zorobabele ] \n\nFine istruzione IF \n");
system("pause");
}
------------------------------------------------------------------------------------------------------
FINE PROGRAMMA d’esempio per l’ utilizzo di IF ELSE IF
la prossima vedremo di utilizzare un altro modo che è SWITCH CASE
Ciao grazie ByMpt-Zorobabele
[Modificato da JehovaZorobabele 03/05/2016 17:20]