Sininerebane

Untitled

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