Impariamo come utilizzare l’istruzion scanf per leggere l’input da tastiera.
Analizziamo questo semplice programma che converte un valore da pollici a centimetri.
#include <stdio.h>
int main(){
double pollici;
double centimetri;
printf("Inserisci il valore in pollici: ");
scanf("%lf",&pollici);
//Verifico che l'input non sia negativo
if( pollici >= 0 ){
//2.54 è il fattore di conversione
centimetri = pollici * 2.54;
printf("Il valore equivale a %lf cm",centimetri);
}
else{
printf("Errore, hai inserito un numero negativo!");
}
return 0;
}
Eseguiamo il programma, il risultato è questo:
Inserisci il valore in pollici: _
In questo momento il nostro programma è in attesa di un’input dall’utente. Inserisco quindi 10 con la tastiera e premo invio.
Il valore equivale a 25.40 cm
Scopriamo insieme come funziona il programma:
L’ istruzione scanf ci permette di leggere un valore inserito dall’utente tramite tastiera. La sintassi è identica a printf se non per un piccolo particolare: l’utilizzo dell’operatore di referenziazione, di cui parleremo più avanti. Anche scanf, come printf è contenuta in stdio.h.
E’ buona regola controllare sempre l’input inserito dall’utente prima di utilizzarlo. Tralasciare questo passo potrebbe portare ad un crash del programma. In questo caso è stato fatto il controllo per verificare che l’input non fosse negativo.