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
- Librerie C++: Utilizzare le librerie standard di C++.
- 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Ă
- Raccogliere l’Importo dall’Utente: Chiedere all’utente di inserire un importo in una valuta.
- Selezionare le Valute di Conversione: Chiedere all’utente di selezionare la valuta di origine e di destinazione.
- 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
- Salva il codice in un file: Ad esempio
convertitore_valuta.cpp
. - Compila il programma:
Terminal window g++ -o convertitore_valuta convertitore_valuta.cpp - Esegui il programma:
Terminal window ./convertitore_valuta - 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
- Aggiornamento Dinamico dei Tassi di Cambio: Utilizzare un’API di cambio valuta per aggiornare dinamicamente i tassi di cambio.
- Interfaccia Grafica: Utilizzare una libreria come Qt per creare un’interfaccia grafica per il convertitore di valuta.
- Supporto per Altre Valute: Aggiungere supporto per altre valute e relativi tassi di cambio.
- Storico delle Conversioni: Mantenere uno storico delle conversioni eseguite durante la sessione.
- Validazione degli Input: Migliorare la gestione degli input per assicurarsi che l’utente inserisca valori validi.