Sito ottimizzato con risoluzione 1024 x 768

 
COMPUTER SCIENCE
Benvenuti sul Sito di CS
MENU
Home
Hacker
Em@il
Ricerche
Pubblicità
GuestBook
Forum
WebMaster
Guide
Top50 CS
Tools
Script
Programmazione
Guide
Programmi
 
PUBBLICITA'

 
SOSTIENI IL SITO

Dai un voto:


 
NEWS BOX

 
RICERCA VELOCE
Google
Web Sito

Sezione: Home - Programmazione: guide


LINGUAGGIO C GUIDA:

autore : Bl@ckLight

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-/

 

previous -- index -- next

 

 

Contatta il WebMaster qui : computerscience@altervista.org

 

Sito creato da Orebla, tutti i diritti riservati Computer Science
Il contenuto di questo sito è solo a scopo informativo, qualsiasi altro uso
è a carico dell'utente.