NikaBang

ДЗ: Конвертер валют

Oct 6th, 2025 (edited)
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.85 KB | Gaming | 0 0
  1. using System;
  2. using System.Data;
  3.  
  4. internal class Program
  5. {
  6.     static void Main(string[] args)
  7.     {
  8.         const string CommandConvertRubToUsd = "1";
  9.         const string CommandConvertUsdToRub = "2";
  10.         const string CommandConvertRubToEur = "3";
  11.         const string CommandConvertEurToRub = "4";
  12.         const string CommandConvertEurToUsd = "5";
  13.         const string CommandConvertUsdToEur = "6";
  14.         const string CommandExit = "7";
  15.  
  16.         float rubInWallet = 10000f;
  17.         float usdInWallet = 300f;
  18.         float eurInWallet = 0f;
  19.         float rubToUsd = 10f;
  20.         float usdToRub = 11f;
  21.         float rubToEur = 15f;
  22.         float eurToRub = 16f;
  23.         float eurToUsd = 0.8f;
  24.         float usdToEur = 0.9f;
  25.         float exchangeCurrencyCount;
  26.         bool isWork = true;
  27.  
  28.         while (isWork)
  29.         {
  30.             Console.Clear();
  31.             Console.WriteLine($"На счете:\nРубли - {rubInWallet}\nДоллары - {usdInWallet}\nЕвро - {eurInWallet}");
  32.             Console.ReadKey();
  33.  
  34.             Console.WriteLine($"{CommandConvertRubToUsd} - обменять рубли на доллоры." +
  35.                 $"\n{CommandConvertUsdToRub} - обменять доллары на рубли." +
  36.                 $"\n{CommandConvertRubToEur} - обменять рубли на евро." +
  37.                 $"\n{CommandConvertEurToRub} - обменять евро ев рубли." +
  38.                 $"\n{CommandConvertUsdToEur} - обменять доллары на евро." +
  39.                 $"\n{CommandConvertEurToUsd} - обменять евро на доллары." +
  40.                 $"\n{CommandExit} - Завершить программу.");
  41.  
  42.             string userInput = Console.ReadLine();
  43.  
  44.             switch (userInput)
  45.             {
  46.                 case CommandConvertRubToUsd:
  47.                     Console.WriteLine("Обмен рублей на долары.");
  48.                     Console.Write("Сколько рублей обменять: ");
  49.                     exchangeCurrencyCount = Convert.ToSingle(Console.ReadLine());
  50.  
  51.                     if (rubInWallet >= exchangeCurrencyCount)
  52.                     {
  53.                         rubInWallet -= exchangeCurrencyCount;
  54.                         usdInWallet += exchangeCurrencyCount / rubToUsd;
  55.                     }
  56.                     else
  57.                     {
  58.                         Console.WriteLine("Не достаточно рублей на счете!");
  59.                         Console.ReadKey();
  60.                     }
  61.                     break;
  62.                 case CommandConvertUsdToRub:
  63.                     Console.WriteLine("Обмен долларов на рубли.");
  64.                     Console.Write("Сколько долларов обменять: ");
  65.                     exchangeCurrencyCount = Convert.ToSingle(Console.ReadLine());
  66.  
  67.                     if (usdInWallet >= exchangeCurrencyCount)
  68.                     {
  69.                         usdInWallet -= exchangeCurrencyCount;
  70.                         rubInWallet += exchangeCurrencyCount * usdToRub;
  71.                     }
  72.                     else
  73.                     {
  74.                         Console.WriteLine("Не достаточно долларов на счете!");
  75.                         Console.ReadKey();
  76.                     }
  77.                     break;
  78.                 case CommandConvertRubToEur:
  79.                     Console.WriteLine("Обмен рублей на евро.");
  80.                     Console.Write("Сколько рублей обменять: ");
  81.                     exchangeCurrencyCount = Convert.ToSingle(Console.ReadLine());
  82.  
  83.                     if (rubInWallet >= exchangeCurrencyCount)
  84.                     {
  85.                         rubInWallet -= exchangeCurrencyCount;
  86.                         eurInWallet += exchangeCurrencyCount / rubToEur;
  87.                     }
  88.                     else
  89.                     {
  90.                         Console.WriteLine("Не достаточно рублей на счете!");
  91.                         Console.ReadKey();
  92.                     }
  93.                     break;
  94.                 case CommandConvertEurToRub:
  95.                     Console.WriteLine("Обмен евро на рубли.");
  96.                     Console.Write("Сколько евро обменять: ");
  97.                     exchangeCurrencyCount = Convert.ToSingle(Console.ReadLine());
  98.  
  99.                     if (eurInWallet >= exchangeCurrencyCount)
  100.                     {  
  101.                         eurInWallet -= exchangeCurrencyCount;
  102.                         rubInWallet += exchangeCurrencyCount * eurToRub;
  103.                     }
  104.                     else
  105.                     {
  106.                         Console.WriteLine("Не достаточно евро на счете!");
  107.                         Console.ReadKey();
  108.                     }
  109.                     break;
  110.                 case CommandConvertEurToUsd:
  111.                     Console.WriteLine("Обмен евро на долары.");
  112.                     Console.Write("Сколько евро обменять: ");
  113.                     exchangeCurrencyCount = Convert.ToSingle(Console.ReadLine());
  114.  
  115.                     if (eurInWallet >= exchangeCurrencyCount)
  116.                     {
  117.                         eurInWallet -= exchangeCurrencyCount;
  118.                         usdInWallet += exchangeCurrencyCount / eurToUsd;
  119.                     }
  120.                     else
  121.                     {
  122.                         Console.WriteLine("Не достаточно евро на счете!");
  123.                         Console.ReadKey();
  124.                     }
  125.                     break;
  126.                 case CommandConvertUsdToEur:
  127.                     Console.WriteLine("Обмен доларов на евро.");
  128.                     Console.Write("Сколько долларов обменять: ");
  129.                     exchangeCurrencyCount = Convert.ToSingle(Console.ReadLine());
  130.  
  131.                     if (usdInWallet >= exchangeCurrencyCount)
  132.                     {
  133.                         usdInWallet -= exchangeCurrencyCount;
  134.                         eurInWallet += exchangeCurrencyCount * usdToEur;
  135.                     }
  136.                     else
  137.                     {
  138.                         Console.WriteLine("Не достаточно долларов на счете!");
  139.                         Console.ReadKey();
  140.                     }
  141.                     break;
  142.                 case CommandExit:
  143.                     isWork = false;
  144.                     Console.WriteLine("Программа завершена.");
  145.                     break;
  146.                 default:
  147.                     Console.WriteLine("Ошибка ввода!");
  148.                     Console.ReadKey();
  149.                     break;
  150.             }
  151.         }
  152.  
  153.         Console.ReadKey();
  154.     }
  155. }
Advertisement
Add Comment
Please, Sign In to add comment