Percorso: ilMac.net > Scuola di Mac > Corsi > Il linguaggio C


Il linguaggio C

Input

In ogni programma l'utente immette dati nel computer (gli input) ed il programma, dopo averli esaminati stampa a video un risultato (gli output).
Ad esempio, se vogliamo scrivere un programma atto a calcolare il volume di un cubo dovremo impostarlo tenendo presenti le seguenti fasi:
1. immissione della misura del lato
2. memorizzazione del lato all'interno di una variabile
3. moltiplicazione della variabile * lato e ancora * lato
4. stampa a video del risultato

Ed ecco quindi il listato.

#include <stdio.h>

main() {

int lato, volume;

printf("MISURA DEL LATO = ");

scanf("%d",&lato);

volume = lato * lato * lato;

printf("nVOLUME = %d",volume);

}

Cosa notate in piu' rispetto al listato del precedente articolo?
Certamente l'istruzione scanf(). Con questa istruzione il Mac attende un input da parte dell'utente. All'interno delle tonde troviamo "%d" che indica che l'input saré un numero intero, infatti la variabile lato é stata dichiarata come int. Infine &lato cioé ordiniamo al computer di assegnare l'input alla variabile lato. Ora che il computer ha questo valore in memoria, puo' procedere al calcolo del volume del cubo (lato*lato*lato) e il risultato di questa operazione verrà memorizzato all'interno della variabile volume.
Infine procediamo alla normale gestione dei dati in uscita con l'istruzione printf() che stamperà il risultato.
Vediamo un altro esempio, quando vogliamo che il computer sommi due numeri da noi immessi.

Le fasi saranno:
1. immissione del primo numero (INPUT)
2. memorizzazione del primo numero all'interno di una variabile
3. immissione del secondo numero (INPUT)
4. memorizzazione del secondo numero all'interno di una variabile
5. somma dei due numeri
6. stampa a video del risultato (OUTPUT)

Ed ecco il listato.

#include <stdio.h>

main() {

int a,b,c;

printf("Primo numero = ");

scanf("%d",&a);

printf("Secondo numero = ");

scanf("%d",&b);

c = a + b;

printf("nRisultato = %d",c);

}

In questo caso l'istruzione scanf() é stata usata due volte, per l'immissione delle variabili a e b, successivamente sommate attribuendo il risultato alla variabile c.
E' importante notare che ad ogni istruzione printf() deve immediatamente seguire, nella linea di codice successiva l'istruzione scanf() per l'input della variabile in questione. E' errato (e ve ne accorgerete mandando in esecuzione il vostro listato), chiedere i dati all'utente in questo modo:

printf("Primo numero =");
printf("Secondo numero =");
scanf("%d",&a);
scanf("%d",&b);

Vi ritroverete a digitare a capo, su una linea vuota il secondo numero da immettere. Avrete la seguente visualizzazione:

Primo numero = Secondo numero = 5

5

Risultato = 10

Tutto chiaro, fin qui?
Procediamo quindi oltre. Vediamo quando in input, invece di un numero, abbiamo una carattere. Supponiamo di voler scrivere un programmino che chieda all'utente di scrivere una lettera, e che il computer ristampi a video la lettera immessa dall'utente.
Il listato sarà il seguente.

#include <stdio.h>

main() {

char lettera;

printf("Scrivi una lettera: ");

scanf("%c",&lettera);

printf("nHai scritto la lettera %c",lettera);

}

Cosa cambia quindi? Per lavorare con i caratteri dobbiamo dichirarli cosi':
char lettera;
Arrivati all'istruzione scanf(), invece di scrivere "%d",&a (oppure "%f",&a nel caso di un numero con la virgola), indicheremo il carattere in questione con "%c" che sarà memorizzato in questo caso nella variabile lettera.
Ciò vale quindi anche nella finale istruzione di Output printf(), nella quale il carattere sarà indicato ancora una volta con "%c".

Per esercitarvi vi consiglio di sbizzarrirvi il piu' possibile nella scrittura di listati, creandone di nuovi (nei limiti dei comandi che vi ho fornito), ad esempio modificandoli per fare calcoli anche in virgola mobile.
Per questa volta é tutto. Appuntamento alla prossima settimana.



Data di pubblicazione: 27-05-1999
L'intero contenuto di questo sito dal 1998 del Team di ilMac.net, vietata ogni riproduzione senza il consenso scritto da parte degli autori. - Pantarei srl - P.IVA 02162920645