📢 Nuovo Corso Bootstrap Completo disponibile!

Convertitore di Valuta

Descrizione del Progetto

In questo progetto, realizzerai un semplice convertitore di valuta a riga di comando utilizzando C++. Il programma supporterĂ  la conversione tra diverse valute.

Requisiti

  1. Librerie C++: Utilizzare le librerie standard di C++.
  2. Interfaccia Utente: Creare una semplice interfaccia utente a riga di comando che permetta all’utente di inserire l’importo e selezionare le valute di conversione.

FunzionalitĂ 

  1. Raccogliere l’Importo dall’Utente: Chiedere all’utente di inserire un importo in una valuta.
  2. Selezionare le Valute di Conversione: Chiedere all’utente di selezionare la valuta di origine e di destinazione.
  3. Eseguire la Conversione: Eseguire la conversione utilizzando tassi di cambio predefiniti e visualizzare il risultato.

Tassi di Cambio Predefiniti

Per semplicità, utilizzeremo tassi di cambio fissi per alcune valute comuni. In un’applicazione reale, i tassi di cambio dovrebbero essere aggiornati dinamicamente da un’API di cambio valuta.

  • 1 EUR = 1.18 USD
  • 1 USD = 0.85 EUR
  • 1 EUR = 129.53 JPY
  • 1 JPY = 0.0077 EUR
  • 1 USD = 109.72 JPY
  • 1 JPY = 0.0091 USD

Esempio di Codice

#include <iostream>
#include <stdexcept>
#include <unordered_map>
std::unordered_map<std::string, double> tassi_di_cambio = {
{"EURtoUSD", 1.18},
{"USDtoEUR", 0.85},
{"EURtoJPY", 129.53},
{"JPYtoEUR", 0.0077},
{"USDtoJPY", 109.72},
{"JPYtoUSD", 0.0091}
};
double converti_valuta(double importo, const std::string& from, const std::string& to) {
std::string chiave = from + "to" + to;
if (tassi_di_cambio.find(chiave) != tassi_di_cambio.end()) {
return importo * tassi_di_cambio[chiave];
} else {
throw std::invalid_argument("Conversione non supportata");
}
}
int main() {
double importo;
std::string from, to;
std::cout << "Convertitore di Valuta" << std::endl;
std::cout << "Inserisci l'importo: ";
std::cin >> importo;
std::cout << "Inserisci la valuta di origine (EUR, USD, JPY): ";
std::cin >> from;
std::cout << "Inserisci la valuta di destinazione (EUR, USD, JPY): ";
std::cin >> to;
try {
double risultato = converti_valuta(importo, from, to);
std::cout << "Importo convertito: " << risultato << " " << to << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}

Istruzioni per l’Esecuzione

  1. Salva il codice in un file: Ad esempio convertitore_valuta.cpp.
  2. Compila il programma:
    Terminal window
    g++ -o convertitore_valuta convertitore_valuta.cpp
  3. Esegui il programma:
    Terminal window
    ./convertitore_valuta
  4. Interazione con l’utente:
    • Inserisci l’importo da convertire.
    • Inserisci la valuta di origine (EUR, USD, JPY).
    • Inserisci la valuta di destinazione (EUR, USD, JPY).
    • Il programma eseguirĂ  la conversione e visualizzerĂ  il risultato.

Estensioni Possibili

  1. Aggiornamento Dinamico dei Tassi di Cambio: Utilizzare un’API di cambio valuta per aggiornare dinamicamente i tassi di cambio.
  2. Interfaccia Grafica: Utilizzare una libreria come Qt per creare un’interfaccia grafica per il convertitore di valuta.
  3. Supporto per Altre Valute: Aggiungere supporto per altre valute e relativi tassi di cambio.
  4. Storico delle Conversioni: Mantenere uno storico delle conversioni eseguite durante la sessione.
  5. Validazione degli Input: Migliorare la gestione degli input per assicurarsi che l’utente inserisca valori validi.