Sininerebane

Untitled

Nov 21st, 2023
551
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.90 KB | Software | 0 0
  1. Задача
  2. Написать конвертер валют (3 валюты).
  3. У пользователя есть баланс в каждой из представленных валют. Он может попросить сконвертировать часть баланса с одной валюты в другую. Тогда у него с баланса одной валюты снимется X и зачислится на баланс другой Y. Курс конвертации должен быть просто прописан в программе.
  4. По имени переменной курса конвертации должно быть понятно, из какой валюты в какую валюту конвертируется.
  5. Должна выполняться однотипная операция или везде умножение "*" или деление "/". Для чего это нужно подробнее позже узнаете в разделе "Функции". Но придётся объявить коэффициенты на все случаи.
  6.  
  7. Программа должна завершиться тогда, когда это решит пользователь.
  8.  
  9. Дополнительно: Если решение строится на switch, то принято работать с константами (в остальных случаях объявляются переменные). Для каждого case следует объявить константу.
  10. Пример:
  11. const string CommandExit = "exit";
  12.  
  13. case CommandExit:
  14. break;
  15.  
  16. Константы объявляются перед блоком переменных и отделяются от них пустой строкой. Константы именуются с большой буквы. Если константа создана для связки консольное меню + switch (case) к имени константы добавляется Command или Menu - это передает суть константы, превращая ее в существительное, а не глагол и улучшает читаемость кода.
  17.  
  18. namespace ConvertorValut
  19. {
  20.     internal class Program
  21.     {
  22.         static void Main(string[] args)
  23.         {
  24.  
  25.             Console.OutputEncoding = Encoding.UTF8;
  26.             const string RubToEurCommand = "1";
  27.             const string EurToRubCommand = "2";
  28.             const string RubToUsdCommand = "3";          
  29.             const string UsdToRubCommand = "4";
  30.             const string EurToUsdCommand = "5";
  31.             const string UsdToEurCommand = "6";
  32.            
  33.             float rubToEur;
  34.             float eurToRub;
  35.             float usdToRub;
  36.             float rubToUsd;
  37.             float eurToUsd;
  38.             float UsdToEur;
  39.             float rub;
  40.             float euro;
  41.             float usd;
  42.             string userInput;
  43.             float currencyCount;
  44.  
  45.             rubToEur = 0.01F;
  46.             eurToRub = 98.29F;
  47.             usdToRub = 91.68F;
  48.             rubToUsd = 0.011F;
  49.             eurToUsd = 0.92F;
  50.             UsdToEur = 1.09F;
  51.  
  52.             Console.WriteLine("Добро пожаловать в обменник валют. У нас вы можете обменять рубли в евро и евро в рубли, рубли на доллары, доллары на рубли, евро в доллары и доллары в евро ");
  53.             Console.WriteLine("Введите баланс рублей: ");
  54.             rub = Convert.ToSingle(Console.ReadLine());
  55.             Console.WriteLine("Введите баланс евро: ");
  56.             euro = Convert.ToSingle(Console.ReadLine());
  57.             Console.WriteLine("Введите баланс долларов: ");
  58.             usd = Convert.ToSingle(Console.ReadLine());
  59.  
  60.             Console.WriteLine($"{RubToEurCommand} - обменять рубли на евро");
  61.             Console.WriteLine($"{EurToRubCommand} - обменять евро на рубли");
  62.             Console.WriteLine($"{RubToUsdCommand} - обменять рубли на доллары");
  63.             Console.WriteLine($"{UsdToRubCommand} - обменять доллары на рубли");
  64.             Console.WriteLine($"{EurToUsdCommand} - обменять евро на доллары");
  65.             Console.WriteLine($"{UsdToEurCommand} - обменять доллары на евро");
  66.            
  67.             userInput = Console.ReadLine();
  68.  
  69.             switch (userInput)
  70.             {
  71.                 case RubToEurCommand:
  72.                     Console.WriteLine("Обмен рублей на евро");
  73.                     Console.Write("Сколько вы хотите обменять?: ");
  74.                     currencyCount = Convert.ToSingle(Console.ReadLine());
  75.                    
  76.                     if (rub >= currencyCount)
  77.                     {
  78.                         rub -= currencyCount;
  79.                         euro += currencyCount / eurToRub;
  80.                     }
  81.                     else
  82.                     {
  83.                         Console.WriteLine("Недопустимое количество рублей");
  84.                     }
  85.  
  86.                     break;
  87.  
  88.                 case EurToRubCommand:
  89.                     Console.WriteLine("Обмен евро на рубли");
  90.                     Console.Write("Сколько вы хотите обменять?: ");
  91.                     currencyCount = Convert.ToSingle(Console.ReadLine());
  92.  
  93.                     if ( euro >= currencyCount)
  94.                     {
  95.                         euro -= currencyCount;
  96.                         rub += currencyCount / rubToEur;
  97.                     }
  98.                     else
  99.                     {
  100.                         Console.WriteLine("Недопустимое количество евро");
  101.                     }
  102.  
  103.                     break;
  104.  
  105.                 case RubToUsdCommand:
  106.                     Console.WriteLine("Обмен рублей на доллары");
  107.                     Console.Write("Сколько вы хотите обменять?: ");
  108.                     currencyCount = Convert.ToSingle(Console.ReadLine());
  109.                    
  110.                     if (usd >= currencyCount)
  111.                     {
  112.                         rub -= currencyCount;
  113.                         usd += currencyCount / usdToRub;
  114.                     }
  115.                     else
  116.                     {
  117.                         Console.WriteLine("Недопустимое количество рублей");
  118.                     }
  119.  
  120.                     break;
  121.  
  122.                 case UsdToRubCommand:
  123.                     Console.WriteLine("Обмен долларов на рубли");
  124.                     Console.Write("Сколько вы хотите обменять?: ");
  125.                     currencyCount = Convert.ToSingle(Console.ReadLine());
  126.  
  127.                     if (usd >= currencyCount)
  128.                     {
  129.                         usd -= currencyCount;
  130.                         rub += currencyCount / rubToUsd;
  131.                     }
  132.                     else
  133.                     {
  134.                         Console.WriteLine("Недопустимое количество долларов");
  135.                     }
  136.  
  137.                     break;
  138.  
  139.                 case EurToUsdCommand:
  140.                     Console.WriteLine("Обмен евро на долларов");
  141.                     Console.Write("Сколько вы хотите обменять?: ");
  142.                     currencyCount = Convert.ToSingle(Console.ReadLine());
  143.  
  144.                     if (euro >= currencyCount)
  145.                     {
  146.                         euro -= currencyCount;
  147.                         usd += currencyCount / UsdToEur;
  148.                     }
  149.                     else
  150.                     {
  151.                         Console.WriteLine("Недопустимое количество евро");
  152.                     }
  153.  
  154.                     break;
  155.  
  156.                 case UsdToEurCommand:
  157.                     Console.WriteLine("обменять доллары на евро");
  158.                     Console.Write("Сколько вы хотите обменять?: ");
  159.                     currencyCount = Convert.ToSingle(Console.ReadLine());
  160.  
  161.                     if (euro >= currencyCount)
  162.                     {
  163.                         usd -= currencyCount;
  164.                         euro += currencyCount / eurToUsd;
  165.                     }
  166.                     else
  167.                     {
  168.                         Console.WriteLine("Недопустимое количество долларов");
  169.                     }
  170.  
  171.                     break;
  172.             }
  173.  
  174.             Console.WriteLine($"Ваш баланс {rub}  рублей и {euro} евро и {usd} долларов ");
  175.             Console.ReadKey();
  176.         }
  177.     }
  178. }
Advertisement
Add Comment
Please, Sign In to add comment