Sininerebane

Untitled

Nov 21st, 2023
513
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.73 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.             const string RubToEurCommand = "1";
  26.             const string EurToRubCommand = "2";
  27.             const string RubToUsdCommand = "3";            
  28.             const string UsdToRubCommand = "4";
  29.             const string EurToUsdCommand = "5";
  30.             const string UsdToEurCommand = "6";
  31.            
  32.             Console.OutputEncoding = Encoding.UTF8;
  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("1 - обменять рубли на евро");
  61.             Console.WriteLine("2 - обменять евро на рубли");
  62.             Console.WriteLine("3 - обменять рубли на доллары");
  63.             Console.WriteLine("4 - обменять доллары на рубли");
  64.             Console.WriteLine("5 - обменять евро на доллары");
  65.             Console.WriteLine("6 - обменять долларов на рубли");
  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.                     if (rub >= currencyCount)
  76.                     {
  77.                         rub -= currencyCount;
  78.                         euro += currencyCount / eurToRub;
  79.                     }
  80.                     else
  81.                     {
  82.                         Console.WriteLine("Недопустимое количество рублей");
  83.                     }
  84.                     break;
  85.                 case EurToRubCommand:
  86.                     Console.WriteLine("Обмен евро на рубли");
  87.                     Console.Write("Сколько вы хотите обменять?: ");
  88.                     currencyCount = Convert.ToSingle(Console.ReadLine());
  89.                     if ( euro >= currencyCount)
  90.                     {
  91.                         euro -= currencyCount;
  92.                         rub += currencyCount / rubToEur;
  93.                     }
  94.                     else
  95.                     {
  96.                         Console.WriteLine("Недопустимое количество евро");
  97.                     }
  98.                     break;
  99.                 case RubToUsdCommand:
  100.                     Console.WriteLine("Обмен рублей на доллары");
  101.                     Console.Write("Сколько вы хотите обменять?: ");
  102.                     currencyCount = Convert.ToSingle(Console.ReadLine());
  103.                     if (usd >= currencyCount)
  104.                     {
  105.                         rub -= currencyCount;
  106.                         usd += currencyCount / usdToRub;
  107.                     }
  108.                     else
  109.                     {
  110.                         Console.WriteLine("Недопустимое количество рублей");
  111.                     }
  112.                     break;
  113.                 case UsdToRubCommand:
  114.                     Console.WriteLine("Обмен долларов на рубли");
  115.                     Console.Write("Сколько вы хотите обменять?: ");
  116.                     currencyCount = Convert.ToSingle(Console.ReadLine());
  117.                     if (usd >= currencyCount)
  118.                     {
  119.                         usd -= currencyCount;
  120.                         rub += currencyCount / rubToUsd;
  121.                     }
  122.                     else
  123.                     {
  124.                         Console.WriteLine("Недопустимое количество долларов");
  125.                     }
  126.                     break;
  127.                 case EurToUsdCommand:
  128.                     Console.WriteLine("Обмен евро на долларов");
  129.                     Console.Write("Сколько вы хотите обменять?: ");
  130.                     currencyCount = Convert.ToSingle(Console.ReadLine());
  131.                     if (euro >= currencyCount)
  132.                     {
  133.                         euro -= currencyCount;
  134.                         usd += currencyCount / UsdToEur;
  135.                     }
  136.                     else
  137.                     {
  138.                         Console.WriteLine("Недопустимое количество евро");
  139.                     }
  140.                     break;
  141.                 case UsdToEurCommand:
  142.                     Console.WriteLine("Обмен долларов на евро");
  143.                     Console.Write("Сколько вы хотите обменять?: ");
  144.                     currencyCount = Convert.ToSingle(Console.ReadLine());
  145.                     if (usd >= currencyCount)
  146.                     {
  147.                         usd -= currencyCount;
  148.                         euro += currencyCount / eurToUsd;
  149.                     }
  150.                     else
  151.                     {
  152.                         Console.WriteLine("Недопустимое количество долларов");
  153.                     }
  154.                     break;
  155.             }
  156.             Console.WriteLine($"Ваш баланс {rub}  рублей и {euro} евро и {usd} долларов ");
  157.             Console.ReadKey();
  158.         }
  159.     }
  160. }
Advertisement
Add Comment
Please, Sign In to add comment