*
 * Per completare la panoramica sull'IF, vedremo come annidarlo.
 * Con cio' si intende mettere una condizione IF all'interno di altre
 * condizioni IF. Ossia fissare piu' di una condizione per l'esecuzione
 * delle istruzioni. Ad esempio:
 *
 *    if (pippo>10)
 *    {
 *	 if (pippo<20)
 *          printf("\nPippo e' compreso tra 11 e 19\n");
 *    }
 *    else printf ("\nPippo non mi interessa\n");
 *
 * La traduzione potrebbe essere: "se pippo e' maggiore di 10, esegui
 * la seconda condizione if: se anche questa e' vera, ossia se pippo e'
 * minore di 20, allora esegui il printf relativo. Altrimenti stampiamo
 * il printf relativo al nostro scarso interesse per pippo".
 * In pratica pippo deve superare 2 condizioni if per passare "l'esame".
 * Da notare che l'esempio qua sopra ha un "errore", infatti se pippo fosse
 * maggiore di 10, sarebbe eseguito cio' che e' tra parentesi graffe, ossia
 * l'altro if, che se risultasse falso, non avendo un else, porterebbe
 * all'uscita, senza stampare che pippo non ci interessa. Infatti se
 * ricordate l'if/else fa eseguire O cio' che segue l'if, O cio' che segue
 * l'else. L'unico else presente nel listatino si riferisce all'if "padre",
 * il primo, per cui se questo risulta vero non sara' eseguito il messaggio
 * dopo l'else. Se si vuole che sia stampato un messaggio di disinteresse
 * anche quando e' falso il secondo if, occorre mettergli un else:
 *
 *	if (pippo>10)		* Prima condizione da superare *
 *	{
 *	    if (pippo<20)                                 * Seconda *
 *	     printf("\nPippo e' compreso tra 11 e 19\n");
 *	    else printf("\nPippo e' grande, non mi interessa\n");
 *	}
 *	else printf ("\nPippo e' piccolo, non mi interessa\n");
 *
 * In questo modo possiamo anche dare un messaggio piu' preciso, dicendo
 * se l'esame e' fallito al primo o al secondo if, ossia se il numero
 * e' troppo piccolo o troppo grande.
 * Quindi occorre stare attenti a non "annodarsi" con gli annidamenti,
 * specialmente se si usano piu' istruzioni else: potremmo perdere il
 * senso dell'orientamento ed ottenere risultati inattesi.
 */

#include <stdio.h>	/* Includiamo la libreria standard */


main()			/* Funzione principale, eseguita per prima */
{			/* Inizio della funzione main() */

   int pippo;		/* Definiamo una variabile intera pippo che servira'
			 * per il costrutto if */

	printf("\nDammi il valore per Pippo: ");
	scanf("%d",&pippo);
	if (pippo>10)		/* Prima condizione da superare */
	{
	    if (pippo<20)                                 /* Seconda */
	     printf("\nPippo e' compreso tra 11 e 19\n");
	    else printf("\nPippo e' grande, non mi interessa\n");
	}
	else printf ("\nPippo e' piccolo, non mi interessa\n");

} 			/* Fine della funzione main() */

/* Ci sono altri tipi di diramazione tramite il costrutto if/else, ma li
 * vedremo in seguito quando serviranno effettivamente.
 */