* * Abbiamo visto fin ora come definire e modificare delle variabili, come * stamparle a video, ma non ancora come farle immettere da tastiera * durante l'esecuzione del programma. E' quello che faremo ora, grazie alla * funzione scanf(), che puo' leggere dati dalla tastiera e salvarli in * variabili. Il suo formato e' simile al printf(): * * scanf("stringa di controllo", &variabile); * * Se vogliamo leggere un numero intero nella stringa di controllo si deve * mettere un %d, se si legge un numero con la virgola (float) un %f, come * col printf. Oltre allo specificatore di formato %d,%f ecc., non si * deve pero' mettere altro, attenzione! Altri caratteri sarebbero * interpretati come "caratteri da scartare" in lettura. * Se si vuol stampare un messaggio, si puo' eseguire un printf prima: * * printf("Immetti un numero\n"); (stampiamo il messaggio) * scanf("%d",&pluto); (leggiamo il numero, e lo salviamo) * * Queste due istruzioni fanno stampare il messaggio ed eseguire la lettura * da tastiera e successiva memorizzazione del numero nella variabile pluto. * Avrete notato che, a differenza del printf, il nome della variabile deve * essere preceduto dal carattere "&". * A questo punto siamo in grado di scrivere un programmino che richiede * una coppia di numeri, li somma e visualizza il risultato: */ #include <stdio.h> /* Includiamo la libreria standard */ float vara,varb,varc; /* Definisco 3 variabili di tipo float */ main() /* Funzione principale, eseguita per prima */ { /* Inizio della funzione main() */ printf("\nDammi il primo numero: "); /* stampo il messaggio */ scanf("%f", &vara); /* Chiedo l'immissione del primo numero da * tastiera e lo salvo in vara */ printf("\nDammi il secondo numero: "); /* Stampo il messaggio */ scanf("%f", &varb); /* Chiedo l'immissione del secondo numero da * tastiera e lo salvo in varb */ varc = vara+varb; /* Assegno a varc il valore di vara+varb */ /* Ora stampiamo a video il valore delle 3 variabili */ printf("\nLa somma di %f e %f e' %f\n",vara,varb,varc); } /* Fine della funzione main() */ /* Abbiamo usato variabili di tipo float, per cui si possono inserire anche * numeri decimali con la virgola (ricordatevi che si usa il punto ".", ad * esempio 3.14 o 10.005). * Si puo' anche limitare la lunghezza di una cifra stampata modificando * un po' il %f: * ad esempio sostituendolo con un %6.4f. * Cosi' facendo verra' stampato un numero con 6 cifre totali di cui 4 * dopo il punto. * %.4f lunghezza totale non fissata ma 4 cifre dopo il punto. * %2.0f lunghezza totale di 2 cifre e 0 cifre dopo la virgola. */