Conversione di valute - Soluzione
Una possibile soluzione al problema è la seguente:
#include <stdio.h>
int main()
{
/* dichiarazione delle variabili utilizzate nel programma */
double euro = 123.10; // valore da convertire
double cambio_euro_dollaro = 1.18213; // tasso di cambio
double dollari; // variabile per memorizzare il risultato
/* conversione da euro a dollari */
dollari = euro * cambio_euro_dollaro;
/* stampa dei risultati */
printf("Importo in euro : %.2f\n", euro);
printf("Importo in dollari : %.2f\n", dollari);
}
In questo primo esempio possiamo cominciare a vedere le parti in cui è suddiviso un programma nel linguaggio C.
Una prima parte usa la direttiva #include
per specificare le librerie necessarie alla seconda parte.
La direttiva viene specificata nel seguente modo:
#include <stdio.h>
Questa direttiva serve ad "importare" le funzioni che vengono utilizzate nel programma, in particolare la funzione printf
per la stampa a video.
Le direttive non sono vere e proprie istruzioni, e si riconoscono poichè sono precedute dal carattere '#'
.
Maggiori informazioni si trovano nel capitolo S3.2 del libro.
La funzione main
invece contiene le istruzioni per effettuare i calcoli.
All'interno del main
sono per prima cosa dichiarate e inizializzate delle variabili di tipo double
, cioè l'importo in euro e il tasso di cambio, utilizzando i dati forniti nel testo dell’esercizio (S2.9).
Una volta dichiarata la variabile che verrà utilizzata per contenere il risutato della conversione, è possibile effettuare il calcolo vero e proprio, cioè una semplice moltiplicazione.
Alla fine vengono stampati a video i risultati, utilizzando la funzione printf
, e il programma termina.
La funzione printf
utilizza un particolare formato del testo da stampare per poter visualizzare il contenuto delle variabili.
Trovi maggiori informazioni nel libro (S2.12).
Hands-on
Esercitati apportando alcune semplici modifiche al programma.
Modifica il programma rimuovendo la riga della #include
e ri-compilando il programma. Cosa noti?
Modifica l'importo assegnato alla variabile euro
e fatti stampare il valore in dollari.
Modifica il nome della variabile cambio_euro_dollaro
dichiarandola invece come segue:
double tasso = 1.18213;
Adatta il programma di conseguenza.
CONSIGLIO: per verificare il funzionamento del programma, utilizza un valore dell'importo che renda semplice il calcolo manuale e quindi una semplice verifica della correttezza del risultato!
Testa il funzionamento del programma con i seguenti importi: 2
, 10
, 100
, 1000
.
Prova con euro = 123961.50
. Riesci a verificare velocemente che il valore restituito in dollari è corretto?
Tieni conto che normalmente ci si può fidare del risultato di un calcolo aritmetico, quindi non serve il controllo manuale! Se però i calcoli sono complessi e articolati, un controllo sui risultati può aiutare ad escludere possibili bug del programma
Ora viene utilizzato lo specificatore %.2f
per stampare i risultati:
- prova ad utilizzare lo specificatore
%d
oppure%i
- prova ad utilizzare uno dei seguenti:
%1.0f
,%10.2f
,%20.8f
Vedi S2.12 per una spiegazione di come utilizzare gli specificatori di formato.