🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

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

  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:
    g++ -o convertitore_valuta convertitore_valuta.cpp
    
  3. Esegui il programma:
    ./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.