Advertisement
holllowknight

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

Apr 3rd, 2023
625
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.43 KB | None | 0 0
  1. using System;
  2.  
  3. namespace currencyConverter
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             const string CommandExit = "exit";
  10.             const string CommandConvert = "convert";
  11.             const string UsdToEurRate = "1";
  12.             const string EurToUsdRate = "2";
  13.             const string RurToEurRate = "3";
  14.             const string EurToRurRate = "4";
  15.             const string RurToUsdRate = "5";
  16.             const string UsdToRurRate = "6";
  17.             const string ErrorInsufficient = "Недостаточно средств на счёте";
  18.             const string ErrorRate = "Неверно выбрано направление конвертации";
  19.             const string ErrorCommand = "Неизвестная команда";
  20.  
  21.             float usdBalance = 100;
  22.             float eurBalance = 100;
  23.             float rurBalance = 1000;
  24.             float usdToEurPrice = 1.08f;
  25.             float eurToUsdPrice = 0.9f;
  26.             float rurToEurPrice = 0.011f;
  27.             float eurToRurPrice = 82.4f;
  28.             float rurToUsdPrice = 0.012f;
  29.             float usdToRurPrice = 76.45f;
  30.             string rate;
  31.             string userInput;
  32.             int sellingValue = 0;
  33.             bool isRunning = true;
  34.  
  35.             while (isRunning)
  36.             {
  37.                 Console.WriteLine($">Текущий баланс:\nUSD > {usdBalance}\nEUR > {eurBalance}\nRUR > {rurBalance}\n");
  38.                 Console.WriteLine("Какое действие желаете выполнить?");
  39.                 Console.WriteLine($"Конвертация валют - {CommandConvert}, выход - {CommandExit}");
  40.                 userInput = Console.ReadLine();
  41.  
  42.                 switch(userInput)
  43.                 {
  44.                     case CommandConvert:
  45.                         Console.WriteLine("Выберите направление обмена: ");
  46.                         Console.WriteLine($"{UsdToEurRate} - Доллар в Евро");
  47.                         Console.WriteLine($"{EurToUsdRate} - Евро в Доллар");
  48.                         Console.WriteLine($"{RurToEurRate} - Рубль в Евро");
  49.                         Console.WriteLine($"{EurToRurRate} - Евро в Рубль");
  50.                         Console.WriteLine($"{RurToUsdRate} - Рубль в Доллар");
  51.                         Console.WriteLine($"{UsdToRurRate} - Доллар в Рубль");
  52.                         rate = Console.ReadLine();
  53.                         Console.Write("Объём продаваемой валюты: ");
  54.                         sellingValue = Convert.ToInt32(Console.ReadLine());
  55.  
  56.                         switch (rate)
  57.                         {
  58.                             case UsdToEurRate:
  59.                                 if(usdBalance >= sellingValue)
  60.                                 {
  61.                                     usdBalance -= sellingValue;
  62.                                     eurBalance += sellingValue * usdToEurPrice;
  63.                                 }
  64.                                 else
  65.                                 {
  66.                                     Console.WriteLine(ErrorInsufficient);
  67.                                 }
  68.                                 break;
  69.                             case EurToUsdRate:
  70.                                 if(eurBalance >= sellingValue)
  71.                                 {
  72.                                     eurBalance -= sellingValue;
  73.                                     usdBalance += sellingValue * eurToUsdPrice;
  74.                                 }
  75.                                 else
  76.                                 {
  77.                                     Console.WriteLine(ErrorInsufficient);
  78.                                 }
  79.                                 break;
  80.                             case RurToEurRate:
  81.                                 if (rurBalance >= sellingValue)
  82.                                 {
  83.                                     rurBalance -= sellingValue;
  84.                                     eurBalance += sellingValue * rurToEurPrice;
  85.                                 }
  86.                                 else
  87.                                 {
  88.                                     Console.WriteLine(ErrorInsufficient);
  89.                                 }
  90.                                 break;
  91.                             case EurToRurRate:
  92.                                 if (eurBalance >= sellingValue)
  93.                                 {
  94.                                     eurBalance -= sellingValue;
  95.                                     rurBalance += sellingValue * eurToRurPrice;
  96.                                 }
  97.                                 else
  98.                                 {
  99.                                     Console.WriteLine(ErrorInsufficient);
  100.                                 }
  101.                                 break;
  102.                             case RurToUsdRate:
  103.                                 if (rurBalance >= sellingValue)
  104.                                 {
  105.                                     rurBalance -= sellingValue;
  106.                                     usdBalance += sellingValue * rurToUsdPrice;
  107.                                 }
  108.                                 else
  109.                                 {
  110.                                     Console.WriteLine(ErrorInsufficient);
  111.                                 }
  112.                                 break;
  113.                             case UsdToRurRate:
  114.                                 if (usdBalance >= sellingValue)
  115.                                 {
  116.                                     usdBalance -= sellingValue;
  117.                                     rurBalance += sellingValue * usdToRurPrice;
  118.                                 }
  119.                                 else
  120.                                 {
  121.                                     Console.WriteLine(ErrorInsufficient);
  122.                                 }
  123.                                 break;
  124.                             default:
  125.                                 Console.WriteLine(ErrorRate);
  126.                                 break;
  127.                         }
  128.                         break;
  129.                     case CommandExit:
  130.                         isRunning = false;
  131.                         break;
  132.                     default:
  133.                         Console.WriteLine(ErrorCommand);
  134.                         break;
  135.                 }
  136.             }
  137.         }
  138.     }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement