fcamuso

Lezione 13.a ESERCIZO if ... else

Mar 18th, 2026
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.42 KB | None | 0 0
  1. /*  Implementare un convertitore da euro a dollari o viceversa.
  2.  *  Il tasso di cambio e la cifra da convertire sono dati inseriti
  3.  *  da tastiera
  4.  *
  5.  */
  6.  
  7. import std;
  8.  
  9. double leggi_numero(std::string messaggio)
  10. {
  11.     double n{};
  12.     std::print("{}", messaggio);
  13.  
  14.     std::cin >> n;  //nessun controllo per brevitá
  15.     return n;
  16. }
  17.  
  18. auto main() -> int
  19. {
  20.     double tasso_cambio{0.0}, cifra_da_convertire{0.0};
  21.     char valuta_partenza{ 'E' }; //E per euro, D per dollari
  22.  
  23.     std::print("Valuta partenza (E per euro, D per dollari): ");
  24.     std::cin >> valuta_partenza;
  25.    
  26.    
  27.     if (std::string caratteri_validi = "EeDd"; caratteri_validi.find(valuta_partenza) == std::string::npos)
  28.     {
  29.         std::println("Valuta non valida. Accetto 'E' per euro o 'D' per dollari.");
  30.         return 1;
  31.     }
  32.     else
  33.     {
  34.         valuta_partenza = std::toupper(valuta_partenza);
  35.     }
  36.  
  37.  
  38.  
  39.     //if (valuta_partenza != 'E')
  40.     //{
  41.     //  if (valuta_partenza != 'D')
  42.     //  {
  43.     //      std::println("Valuta non valida. Accetto 'E' per euro o 'D' per dollari.");
  44.     //      return 1;
  45.     //  }
  46.     //}
  47.    
  48.     if (valuta_partenza == 'E')
  49.     {
  50.         tasso_cambio = leggi_numero("Inserisci il tasso di cambio da Euro a Dollaro -> ");
  51.     }
  52.     else
  53.     {
  54.         tasso_cambio = leggi_numero("Inserisci il tasso di cambio da Dollaro a Euro -> ");
  55.     }
  56.  
  57.     //std::string messaggio = "Inserisci il tasso di cambio da ";
  58.     //if (valuta_partenza == 'E')
  59.     //{
  60.     //  messaggio = messaggio + " Euro a Dollaro -> ";
  61.     //}
  62.     //else
  63.     //{
  64.     //  messaggio = messaggio + " Dollaro a Euro -> ";
  65.     //}
  66.     //tasso_cambio = leggi_numero(messaggio);
  67.  
  68.     //tasso_cambio = leggi_numero(std::string{ "Inserisci il tasso di cambio da " } +
  69.     //  (valuta_partenza == 'E' ? " Euro a Dollaro -> " : " Dollaro a Euro -> "));
  70.  
  71.     if (tasso_cambio <= 0)
  72.     {
  73.         std::println("Il tasso di cambio deve essere un numero positivo.");
  74.         return 1;
  75.     }
  76.  
  77.    
  78.  
  79.     if (valuta_partenza == 'E')
  80.     {
  81.         cifra_da_convertire = leggi_numero("Cifra in Euro da convertire in $: ");
  82.     }
  83.     else
  84.     {
  85.         cifra_da_convertire = leggi_numero("Cifra in $ da convertire in Euro: ");
  86.     }
  87.  
  88.     if (cifra_da_convertire <= 0)
  89.     {
  90.         std::println("La cifra da convertire deve essere un numero positivo.");
  91.         return 1;
  92.     }
  93.  
  94.     if (valuta_partenza == 'E')
  95.     {
  96.         std::println("{} Euro corrispondono a {:.2f} Dollari", cifra_da_convertire,
  97.             cifra_da_convertire * tasso_cambio);
  98.     }
  99.     else
  100.     {
  101.         std::println("{} Dollari corrispondono a {:.2f} Euro", cifra_da_convertire,
  102.             cifra_da_convertire * tasso_cambio);
  103.     }
  104. }
  105.  
Advertisement
Add Comment
Please, Sign In to add comment