Advertisement
SaNik74

ConvectorCurrency

Feb 4th, 2024 (edited)
683
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.90 KB | None | 0 0
  1. namespace ConvectorCurrency
  2. {
  3.     class Program
  4.     {
  5.         static void Main(string[] args)
  6.         {
  7.             const string CommandChangeRubToUsd = "1";
  8.             const string CommandChangeRubToEuro = "2";
  9.             const string CommandChangeUsdToRub = "3";
  10.             const string CommandChangeUsdЕoEuro = "4";
  11.             const string CommandChangeEuroToRub = "5";
  12.             const string CommandChangeEuroToUsd = "6";
  13.             const string CommandExit = "7";
  14.  
  15.             int minValueInAccount = 0;
  16.             int maxValueInAccount = 100;
  17.             double accountInRubles;
  18.             double accountInDollars;
  19.             double accountInEuros;
  20.             double dollarToRubleRatio = 89.80;
  21.             double euroToRubleRatio = 97.50;
  22.             double dollarToEuroRatio = 0.92;
  23.             double rubToDollarRatio = 1 / dollarToRubleRatio;
  24.             double rubToEuroRatio = 1 / euroToRubleRatio;
  25.             double euroToDollarRatio = 1 / dollarToEuroRatio;
  26.             bool isWorking = true;
  27.  
  28.             Random random = new Random();
  29.             accountInDollars = random.Next(minValueInAccount, maxValueInAccount);
  30.             accountInRubles = random.Next(minValueInAccount, maxValueInAccount);
  31.             accountInEuros = random.Next(minValueInAccount, maxValueInAccount);
  32.  
  33.             while (isWorking)
  34.             {
  35.                 Console.WriteLine($"На Вашем счете:\n{accountInDollars} - долларов\n" +
  36.                     $"{accountInEuros} - евро\n{accountInRubles} - рублейn\n\n");
  37.  
  38.                 Console.WriteLine($"Для обмена рублей на доллары ведите - {CommandChangeRubToUsd}\n" +
  39.                     $"Для обмена рублей на евро введите - {CommandChangeRubToEuro}\n" +
  40.                     $"Для обмена доллара на рубли введите - {CommandChangeUsdToRub}\n" +
  41.                     $"Для обмена доллара на евро введите - {CommandChangeUsdЕoEuro}\n" +
  42.                     $"Для обмена евро на рубли введите - {CommandChangeEuroToRub}\n" +
  43.                     $"Для обмена евро на доллары введите - {CommandChangeEuroToUsd}\n" +
  44.                     $"Для выхода нажмите - {CommandExit}");
  45.  
  46.                 string userInput = Console.ReadLine();
  47.  
  48.                 switch (userInput)
  49.                 {
  50.                     case CommandChangeRubToUsd:
  51.                         ConvertCurrency(rubToDollarRatio, ref accountInRubles, ref accountInDollars);
  52.                         break;
  53.  
  54.                     case CommandChangeRubToEuro:
  55.                         ConvertCurrency(rubToEuroRatio, ref accountInRubles, ref accountInEuros);
  56.                         break;
  57.  
  58.                     case CommandChangeUsdToRub:
  59.                         ConvertCurrency(dollarToRubleRatio, ref accountInDollars, ref accountInRubles);
  60.                         break;
  61.  
  62.                     case CommandChangeUsdЕoEuro:
  63.                         ConvertCurrency(dollarToEuroRatio, ref accountInDollars, ref accountInEuros);
  64.                         break;
  65.  
  66.                     case CommandChangeEuroToRub:
  67.                         ConvertCurrency(euroToRubleRatio, ref accountInEuros, ref accountInRubles);
  68.                         break;
  69.  
  70.                     case CommandChangeEuroToUsd:
  71.                         ConvertCurrency(euroToDollarRatio, ref accountInEuros, ref accountInDollars);
  72.                         break;
  73.  
  74.                     case CommandExit:
  75.                         Console.WriteLine("Вы вышли из программы.");
  76.                         isWorking = false;
  77.                         Console.ReadKey();
  78.                         break;
  79.                 }
  80.  
  81.                 Console.Write("Нажмите любую клавишу");
  82.                 Console.ReadKey();
  83.                 Console.Clear();
  84.             }
  85.         }
  86.  
  87.         static void ConvertCurrency(double coefficient, ref double moneyToAccountExchange, ref double moneyToAccountPurchased)
  88.         {
  89.             Console.WriteLine("Введите сколько денег хотите обменять: ");
  90.  
  91.             bool isNumber = double.TryParse(Console.ReadLine(), out double moneyValue);
  92.  
  93.             if (moneyValue > moneyToAccountExchange)
  94.             {
  95.                 Console.WriteLine("У вас недостаточно средств.");
  96.                 return;
  97.             }
  98.  
  99.             if (isNumber == true)
  100.             {
  101.                 moneyToAccountPurchased += Math.Round(moneyValue * coefficient, 2);
  102.                 moneyToAccountExchange -= Math.Round(moneyValue, 2);
  103.             }
  104.             else
  105.             {
  106.                 Console.WriteLine("Необходимо ввести число. Попробуйте еще раз.");
  107.             }
  108.         }
  109.     }
  110. }
  111.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement