Convertitore di Valuta
Codegrind Team•Jul 12 2024
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:
g++ -o convertitore_valuta convertitore_valuta.cpp
- Esegui il programma:
./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.