Advertisement
AziLif

Конвертер валют

Jun 4th, 2024 (edited)
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.70 KB | None | 0 0
  1. using System;
  2. using System.Security.Cryptography;
  3.  
  4. namespace ConsoleApp
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             const string CommandExchangeRubForUsd = "1";
  11.             const string CommandExchangeUsdForRub = "2";
  12.             const string CommandExchangeRubForEur = "3";
  13.             const string CommandExchangeEurForRub = "4";
  14.             const string CommandExchangeEurForUsd = "5";
  15.             const string CommandExchangeUsdForEur = "6";
  16.             const string CommandExit = "7";
  17.             const string CommandShowBalance = "8";
  18.  
  19.             float rub = 5000;
  20.             float eur = 300;
  21.             float usd = 400;
  22.             float courseUsdRub = 77;
  23.             float courseEurRub = 85;
  24.             float courseRubUsd = 0.012f;
  25.             float courseRubEur = 0.011f;
  26.             float courseUsdEur = 1.1f;
  27.             float courseEurUsd = 0.9f;
  28.             float userInput;
  29.  
  30.             bool isCalculating = true;
  31.  
  32.             Console.WriteLine($"Приветствую Вас в обменнике! \nУ нас вы можете поменять рубли на доллары, евро, " +
  33.                               $"доллары на евро и обратно." +
  34.                               $"\nНа данный момент у вас {rub} рублей, {eur} евро и {usd} долларов.\nТекущий курс " +
  35.                               $"\"Доллар к рублю\" - {courseEurRub}, \"Евро к рублю - {courseEurRub}\"" +
  36.                               $",\"Доллар к евро - {courseUsdEur}\" и \"Евро к доллару - {courseEurUsd}\".");
  37.  
  38.             while (isCalculating)
  39.             {
  40.                 Console.WriteLine("Что вы хотите поменять? Введите номер нужной вам услуги и нажмите \"Enter\".\n");
  41.                 Console.WriteLine($"{CommandExchangeRubForUsd} - Обменять рубли на доллары.\n" +
  42.                                   $"{CommandExchangeUsdForRub} - Обменять доллары на рубли\n" +
  43.                                   $"{CommandExchangeRubForEur} - Обменять рубли на евро.\n" +
  44.                                   $"{CommandExchangeEurForRub} - Обменять евро на рубли\n" +
  45.                                   $"{CommandExchangeEurForUsd} - Обменять евро на доллары.\n" +
  46.                                   $"{CommandExchangeUsdForEur} - Обменять доллары на евро.\n" +
  47.                                   $"{CommandExit} - Завершить обслуживание.\n" +
  48.                                   $"{CommandShowBalance} - Показать баланс валют.");
  49.  
  50.                 switch (Console.ReadLine())
  51.                 {
  52.                     case CommandExchangeRubForUsd:
  53.                         Console.WriteLine("Сколько долларов вы хотите обменять?");
  54.  
  55.                         userInput = Convert.ToSingle(Console.ReadLine());
  56.  
  57.                         if (userInput < rub * courseRubUsd)
  58.                         {
  59.                             rub -= userInput * courseUsdRub;
  60.                             usd += userInput;
  61.                         }
  62.                         else
  63.                         {
  64.                             Console.ForegroundColor = ConsoleColor.Red;
  65.                             Console.WriteLine("Отрицательный баланс сделки.");
  66.                             Console.ResetColor();
  67.                         }
  68.  
  69.                         break;
  70.  
  71.                     case CommandExchangeUsdForRub:
  72.                         Console.WriteLine("Сколько рублей вы хотите обменять?");
  73.  
  74.                         userInput = Convert.ToSingle(Console.ReadLine());
  75.  
  76.                         if (userInput < usd * courseUsdRub)
  77.                         {
  78.                             usd -= userInput * courseRubUsd;
  79.                             rub += userInput;
  80.                         }
  81.                         else
  82.                         {
  83.                             Console.ForegroundColor = ConsoleColor.Red;
  84.                             Console.WriteLine("Отрицательный баланс сделки.");
  85.                             Console.ResetColor();
  86.                         }
  87.  
  88.                         break;
  89.  
  90.                     case CommandExchangeRubForEur:
  91.                         Console.WriteLine("Сколько евро вы хотите обменять?");
  92.  
  93.                         userInput = Convert.ToSingle(Console.ReadLine());
  94.  
  95.                         if (userInput < rub * courseRubEur)
  96.                         {
  97.                             rub -= userInput * courseEurRub;
  98.                             eur += userInput;
  99.                         }
  100.                         else
  101.                         {
  102.                             Console.ForegroundColor = ConsoleColor.Red;
  103.                             Console.WriteLine("Отрицательный баланс сделки.");
  104.                             Console.ResetColor();
  105.                         }
  106.  
  107.                         break;
  108.  
  109.                     case CommandExchangeEurForRub:
  110.                         Console.WriteLine("Сколько рублей вы хотите обменять?");
  111.  
  112.                         userInput = Convert.ToSingle(Console.ReadLine());
  113.  
  114.                         if (userInput < eur * courseEurRub)
  115.                         {
  116.                             eur -= userInput * courseRubEur;
  117.                             rub += userInput;
  118.                         }
  119.                         else
  120.                         {
  121.                             Console.ForegroundColor = ConsoleColor.Red;
  122.                             Console.WriteLine("Отрицательный баланс сделки.");
  123.                             Console.ResetColor();
  124.                         }
  125.  
  126.                         break;
  127.  
  128.                     case CommandExchangeEurForUsd:
  129.                         Console.WriteLine("Сколько долларов(за евро) вы хотите обменять?");
  130.  
  131.                         userInput = Convert.ToSingle(Console.ReadLine());
  132.  
  133.                         if (userInput < eur * courseUsdEur)
  134.                         {
  135.                             eur -= userInput * courseEurUsd;
  136.                             usd += userInput;
  137.                         }
  138.                         else
  139.                         {
  140.                             Console.ForegroundColor = ConsoleColor.Red;
  141.                             Console.WriteLine("Отрицательный баланс сделки.");
  142.                             Console.ResetColor();
  143.                         }
  144.  
  145.                         break;
  146.  
  147.                     case CommandExchangeUsdForEur:
  148.                         Console.WriteLine("Сколько евро(за доллары) вы хотите обменять?");
  149.  
  150.                         userInput = Convert.ToSingle(Console.ReadLine());
  151.  
  152.                         if (userInput < usd * courseEurUsd)
  153.                         {
  154.                             usd -= userInput * courseUsdEur;
  155.                             eur += userInput;
  156.                         }
  157.                         else
  158.                         {
  159.                             Console.ForegroundColor = ConsoleColor.Red;
  160.                             Console.WriteLine("Отрицательный баланс сделки.");
  161.                             Console.ResetColor();
  162.                         }
  163.  
  164.                         break;
  165.  
  166.                     case CommandShowBalance:
  167.                         Console.WriteLine($"Ваш баланс: " +
  168.                                           $"\n{rub} - рублей," +
  169.                                           $"\n{usd} - долларов," +
  170.                                           $"\n{eur} - евро");
  171.                         break;
  172.  
  173.                     case CommandExit:
  174.                         isCalculating = false;
  175.                         Console.WriteLine("Обслуживание завершено. Ждем Вас снова!");
  176.                         break;
  177.  
  178.                     default:
  179.                         Console.WriteLine("Что-то не так");
  180.                         break;
  181.                 }
  182.  
  183.                 Console.WriteLine($"Теперь у вас на счету - {rub} рублей, {eur} евро и {usd} долларов.");
  184.                 Console.WriteLine("Для продолжения нажмите любую клаившу.");
  185.                 Console.ReadKey();
  186.             }
  187.         }
  188.     }
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement