*
 * Fino ad ora abbiamo scritto programmi utili per la comprensione del
 * linguaggio C, ma inutili come applicazioni. Ora pero' siamo in grado
 * di fare un programmino "utile", che trova l'area e la corconferenza
 * di un cerchio dato il raggio. Come e' noto le operazioni da fare sono:
 *
 *	Area = PI_GRECO*raggio*raggio
 *	Perimetro = 2*PI_GRECO*raggio
 *
 * Dato che il Pi Greco e' un numero con la virgola (3,141592... ecc.)
 * dobbiamo usare variabili di tipo float. Gia' che ci siamo, possiamo
 * usare il #define per dare al 3.14159265 l'alias piu' leggibile "PI".
 */

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

#define PI 3.14159265	/* Scrivendo PI intendiamo 3.14159265 */

float raggio;		/* Definisco una variabile di tipo float */

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

	printf("\nRaggio del cerchio? ");
	scanf("%f", &raggio);
	printf("\nArea:       %f", PI*raggio*raggio);
	printf("\nPerimetro:  %f\n", 2*PI*raggio);
}

/* Una cosa che avrete notato e' che definiamo e usiamo la sola variabile
 * del raggio, risparmiandoci di definirne anche per l'area e il perimetro.
 * Infatti ci basta di stampare i valori: non dovendoli riutilizzare dopo
 * possiamo calcolarli e stamparli al volo, senza salvarli.
 * In questo modo abbiamo potuto verificare come nel printf si possano
 * mettere anche delle espressioni, non solo semplici variabili solitarie.
 * Occorre notare, infine, che PI non e' una variabile, ma un'identificatore
 * che sara' sostituito fisicamente, dopo la precompilazione, con 3.14159265.
 * Inoltre si noti che la variabile e' a caratteri minuscoli, mentre il PI,
 * che e' una "macro di sostituzione", e' a caratteri MAIUSCOLI, come vuole
 * la prassi dell'ANSI C standard. In questo listato si nota l'utilita' di
 * questa convenzione, infatti e' possibile capire a colpo d'occhio che il PI
 * non e' una variabile, a differenza di "raggio".
 */