Visita Orebla.it su Facebook Segui Orebla.it su Twitter Vedi i video su YouTube di Orebla.it Unisciti alle cerchie di Orebla.it
DOVE TI TROVI: \\ Home Page\c\Guida al C : I/O da tastiera

Guida al C/C++

autore: BlackLight
xx/xx/xx

I/O da tastiera:

Finora abbiamo visto solo programmi che eseguono delle istruzioni ed escono. Ma un programma non ha molto senso se non può interagire con l'utente che lo usa! Il C mette a disposizione molte funzioni per l'I/O (Input/Output) da tastiera (sempre definite, salvo rare eccezioni, in stdio.h). Abbiamo già incontrato la printf() per l'output sul monitor, ora facciamo conoscenza con la scanf(), per la letturadi valori dalla tastiera. Ecco la forma della scanf():

scanf ("tipo_da_leggere",& variabile);

Ecco un piccolo esempio:
int a; // Dichiaro una variabile int
printf ("Inserisci una variabile intera: ");
scanf ("%d",& a); // Dico al programma di leggere il valore immesso

Ecco nel frammento di programma di sopra cosa succede:
Attraverso la scanf() dico al programma di leggere un valore intero dalla tastiera (già abbiamo visto che la sequenza %d dice al programma che quella che si sta per leggere o scrivere è una variabile intera) e di salvare questo valore all'indirizzo della variabile a (capiremo meglio questo concetto quando parleremo dei puntatori), ossia copio questo valore nella variabile intera a.

Ecco un programmino facile facile che somma fra loro due numeri reali:
/* somma.c */
#include < stdio.h >
double somma(double a, double b); // Prototipo della funzione somma()
int main() {
double a,b; // Dichiaro 2 variabili double
printf ("Inserire il primo numero: ");
scanf ("%lf",&a); // Leggo il primo valore double e lo salvo all'indirizzo di a
printf ("Inserire il secondo numero: ");
scanf ("%lf",&b); // Leggo il secondo valore double e lo salvo all'indirizzo di b
printf ("Somma fra %lf e %lf = %lf\n",a,b,somma(a,b)); // Stampo la somma fra a e b
return 0;
}
double somma(double a, double b) {
return a+b;
}

Ecco invece un programmino che stampa l'area e la lunghezza di una circonferenza dato il raggio:

/* circ.c */

#include < stdio.h >
#include < math.h >
// Includo il file math.h per poter usare la costante M_PI (pi greco)

double area(double raggio);
double circ(double raggio);

int main() {
double r; // Raggio

printf ("Inserire il valore del raggio: ");
scanf ("%lf",&r); // Leggo il valore del raggio

printf ("Area: %lf\n",area(r));
printf ("Circonferenza: %lf\n",circ(r));
return 0;
}

double area(double raggio) {
return M_PI*raggio*raggio; // pi*r²
}

double circ(double raggio) {
return 2*M_PI*raggio; // 2pi*r
}

Ho incluso il file math.h perchè in questo file è definita la costante M_PI (pi greco) con 20 cifre di precisione dopo la virgola 8-/





Articoli utili:
Jailbreak iOS 10: tweaks compatibili

Recensione iPhone 6

IPhone 7 uscito, novita, prezzi