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.

prova-tu Modifica il programma rimuovendo la riga della #include e ri-compilando il programma. Cosa noti?

prova-tu Modifica l'importo assegnato alla variabile euro e fatti stampare il valore in dollari.

prova-tu 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!

prova-tu Testa il funzionamento del programma con i seguenti importi: 2, 10, 100, 1000.

prova-tu 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

prova-tu 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.