Advertisement
Lexvolk

Untitled

Mar 30th, 2023
395
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.26 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace CJunior
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             float rubToUsd = 0.12f;
  14.             float rubToEur = 0.11f;
  15.  
  16.             float eurToRub = 83.49f;
  17.             float eurToUsd = 1.09f;
  18.  
  19.             float usdToRub = 76.98f;
  20.             float usdToEur = 0.92f;
  21.  
  22.             float rublesCount = 1000f;
  23.             float dollarsCount = 1000f;
  24.             float euroCount = 1000f;
  25.  
  26.             string rublesName = "рубли";
  27.             string dollarsName = "доллары";
  28.             string euroName = "евро";
  29.  
  30.             int rublesMenuNumber = 1;
  31.             int dollarsMenuNumber = 2;
  32.             int euroMenuNumber = 3;
  33.  
  34.             string currentCommand = "";
  35.             string changeCurrencyCommand = "1";
  36.             string exitCommand = "2";
  37.  
  38.             while (currentCommand != exitCommand)
  39.             {
  40.                 Console.Clear();
  41.                 Console.WriteLine("Вас приветствует конвертер валют!");
  42.                 Console.WriteLine($"У ваc на счету:\t{rublesCount} рублей\t{dollarsCount} долларов\t{euroCount} евро");
  43.                 Console.WriteLine("Вы можете совершить следующие действия:");
  44.                 Console.WriteLine("1. Обменять валюту");
  45.                 Console.WriteLine("2. Выйти");
  46.                 Console.Write("Введите номер команды: ");
  47.                 currentCommand = Console.ReadLine();
  48.                 while (currentCommand != changeCurrencyCommand && currentCommand != exitCommand)
  49.                 {
  50.                     Console.WriteLine("Некорректный номер");
  51.                     Console.Write("Введите номер команды: ");
  52.                     currentCommand = Console.ReadLine();
  53.                 }
  54.  
  55.                 if (currentCommand == changeCurrencyCommand)
  56.                 {
  57.                     Console.Clear();
  58.                     Console.WriteLine($"У ваc на счету: {rublesCount} рублей\t{dollarsCount} долларов\t{euroCount} евро");
  59.                     Console.WriteLine($"{rublesMenuNumber}. Рубли");
  60.                     Console.WriteLine($"{dollarsMenuNumber}. Доллары");
  61.                     Console.WriteLine($"{euroMenuNumber}. Евро");
  62.                     Console.Write("Выберите номер валюты которую хотите обменять: ");
  63.                     int currencyToChangeNumber;
  64.                     while (int.TryParse(Console.ReadLine(), out currencyToChangeNumber) == false || (currencyToChangeNumber != rublesMenuNumber && currencyToChangeNumber != dollarsMenuNumber && currencyToChangeNumber != euroMenuNumber))
  65.                     {
  66.                         Console.WriteLine("Неверный номер");
  67.                         Console.Write("Выберите номер валюты которую хотите обменять: ");
  68.                     }
  69.  
  70.                     Console.Clear();
  71.                     Console.WriteLine($"У ваc на счету: {rublesCount} рублей\t{dollarsCount} долларов\t{euroCount} евро");
  72.                     Console.WriteLine("1. Рубли");
  73.                     Console.WriteLine("2. Доллары");
  74.                     Console.WriteLine("3. Евро");
  75.                     Console.Write("Выберите номер валюты на которую хотите обменять: ");
  76.                     int newChangedCurrencyNumber;
  77.                     while (int.TryParse(Console.ReadLine(), out newChangedCurrencyNumber) == false || (newChangedCurrencyNumber != rublesMenuNumber && newChangedCurrencyNumber != dollarsMenuNumber && newChangedCurrencyNumber != euroMenuNumber) || newChangedCurrencyNumber == currencyToChangeNumber)
  78.                     {
  79.                         if (newChangedCurrencyNumber == currencyToChangeNumber)
  80.                             Console.WriteLine("Вы и так обмениваете эту валюту, выберите другую");
  81.                         else
  82.                             Console.WriteLine("Неверный номер");
  83.                         Console.Write("Выберите номер валюты на которую хотите обменять: ");
  84.                     }
  85.  
  86.                     string currencyToChangeName;
  87.                     if (currencyToChangeNumber == rublesMenuNumber)
  88.                         currencyToChangeName = rublesName;
  89.                     else if (currencyToChangeNumber == dollarsMenuNumber)
  90.                         currencyToChangeName = dollarsName;
  91.                     else
  92.                         currencyToChangeName = euroName;
  93.                     string newChangedCurrencyName;
  94.                     if (newChangedCurrencyNumber == rublesMenuNumber)
  95.                         newChangedCurrencyName = rublesName;
  96.                     else if (newChangedCurrencyNumber == dollarsMenuNumber)
  97.                         newChangedCurrencyName = dollarsName;
  98.                     else
  99.                         newChangedCurrencyName = euroName;
  100.  
  101.                     bool currencyConverted = false;
  102.                     while (currencyConverted == false)
  103.                     {
  104.                         Console.Clear();
  105.                         Console.WriteLine($"У ваc на счету: {rublesCount} рублей\t{dollarsCount} долларов\t{euroCount} евро");
  106.                         Console.WriteLine($"Вы меняете {currencyToChangeName} на {newChangedCurrencyName}.");
  107.                         Console.Write($"Введите кол-во валюты ({currencyToChangeName}) для обмена: ");
  108.                         float currencyToChangeValue = float.Parse(Console.ReadLine());
  109.  
  110.                         bool currencyToChangeEnough = false;
  111.                         if (currencyToChangeNumber == rublesMenuNumber)
  112.                             currencyToChangeEnough = currencyToChangeValue <= rublesCount;
  113.                         else if (currencyToChangeNumber == dollarsMenuNumber)
  114.                             currencyToChangeEnough = currencyToChangeValue <= dollarsCount;
  115.                         else
  116.                             currencyToChangeEnough = currencyToChangeValue <= euroCount;
  117.  
  118.                         if (currencyToChangeEnough)
  119.                         {
  120.                             if (currencyToChangeNumber == rublesMenuNumber)
  121.                             {
  122.                                 rublesCount -= currencyToChangeValue;
  123.                                 if (newChangedCurrencyNumber == dollarsMenuNumber)
  124.                                     dollarsCount += currencyToChangeValue * rubToUsd;
  125.                                 else
  126.                                     euroCount += currencyToChangeValue * rubToEur;
  127.                             }
  128.                             else if (currencyToChangeNumber == dollarsMenuNumber)
  129.                             {
  130.                                 dollarsCount -= currencyToChangeValue;
  131.                                 if (newChangedCurrencyNumber == rublesMenuNumber)
  132.                                     rublesCount += currencyToChangeValue * usdToRub;
  133.                                 else
  134.                                     euroCount += currencyToChangeValue * usdToEur;
  135.                             }
  136.                             else
  137.                             {
  138.                                 euroCount -= currencyToChangeValue;
  139.                                 if (newChangedCurrencyNumber == rublesMenuNumber)
  140.                                     rublesCount += currencyToChangeValue * eurToRub;
  141.                                 else
  142.                                     dollarsCount += currencyToChangeValue * eurToUsd;
  143.                             }
  144.                             currencyConverted = true;
  145.                         }
  146.                         else
  147.                         {
  148.                             Console.WriteLine("Некорреткное значение.");
  149.                         }
  150.                     }
  151.                 }
  152.             }
  153.         }
  154.     }
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement