Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Задача
- Написать конвертер валют (3 валюты).
- У пользователя есть баланс в каждой из представленных валют. Он может попросить сконвертировать часть баланса с одной валюты в другую. Тогда у него с баланса одной валюты снимется X и зачислится на баланс другой Y. Курс конвертации должен быть просто прописан в программе.
- По имени переменной курса конвертации должно быть понятно, из какой валюты в какую валюту конвертируется.
- Должна выполняться однотипная операция или везде умножение "*" или деление "/". Для чего это нужно подробнее позже узнаете в разделе "Функции". Но придётся объявить коэффициенты на все случаи.
- Программа должна завершиться тогда, когда это решит пользователь.
- Дополнительно: Если решение строится на switch, то принято работать с константами (в остальных случаях объявляются переменные). Для каждого case следует объявить константу.
- Пример:
- const string CommandExit = "exit";
- case CommandExit:
- break;
- Константы объявляются перед блоком переменных и отделяются от них пустой строкой. Константы именуются с большой буквы. Если константа создана для связки консольное меню + switch (case) к имени константы добавляется Command или Menu - это передает суть константы, превращая ее в существительное, а не глагол и улучшает читаемость кода.
- namespace ConvertorValut
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- const string RubToEurCommand = "1";
- const string EurToRubCommand = "2";
- const string RubToUsdCommand = "3";
- const string UsdToRubCommand = "4";
- const string EurToUsdCommand = "5";
- const string UsdToEurCommand = "6";
- Console.OutputEncoding = Encoding.UTF8;
- float rubToEur;
- float eurToRub;
- float usdToRub;
- float rubToUsd;
- float eurToUsd;
- float UsdToEur;
- float rub;
- float euro;
- float usd;
- string userInput;
- float currencyCount;
- rubToEur = 0.01F;
- eurToRub = 98.29F;
- usdToRub = 91.68F;
- rubToUsd = 0.011F;
- eurToUsd = 0.92F;
- UsdToEur = 1.09F;
- Console.WriteLine("Добро пожаловать в обменник валют. У нас вы можете обменять рубли в евро и евро в рубли, рубли на доллары, доллары на рубли, евро в доллары и доллары в евро ");
- Console.WriteLine("Введите баланс рублей: ");
- rub = Convert.ToSingle(Console.ReadLine());
- Console.WriteLine("Введите баланс евро: ");
- euro = Convert.ToSingle(Console.ReadLine());
- Console.WriteLine("Введите баланс долларов: ");
- usd = Convert.ToSingle(Console.ReadLine());
- Console.WriteLine("1 - обменять рубли на евро");
- Console.WriteLine("2 - обменять евро на рубли");
- Console.WriteLine("3 - обменять рубли на доллары");
- Console.WriteLine("4 - обменять доллары на рубли");
- Console.WriteLine("5 - обменять евро на доллары");
- Console.WriteLine("6 - обменять долларов на рубли");
- userInput = Console.ReadLine();
- switch (userInput)
- {
- case RubToEurCommand:
- Console.WriteLine("Обмен рублей на евро");
- Console.Write("Сколько вы хотите обменять?: ");
- currencyCount = Convert.ToSingle(Console.ReadLine());
- if (rub >= currencyCount)
- {
- rub -= currencyCount;
- euro += currencyCount / eurToRub;
- }
- else
- {
- Console.WriteLine("Недопустимое количество рублей");
- }
- break;
- case EurToRubCommand:
- Console.WriteLine("Обмен евро на рубли");
- Console.Write("Сколько вы хотите обменять?: ");
- currencyCount = Convert.ToSingle(Console.ReadLine());
- if ( euro >= currencyCount)
- {
- euro -= currencyCount;
- rub += currencyCount / rubToEur;
- }
- else
- {
- Console.WriteLine("Недопустимое количество евро");
- }
- break;
- case RubToUsdCommand:
- Console.WriteLine("Обмен рублей на доллары");
- Console.Write("Сколько вы хотите обменять?: ");
- currencyCount = Convert.ToSingle(Console.ReadLine());
- if (usd >= currencyCount)
- {
- rub -= currencyCount;
- usd += currencyCount / usdToRub;
- }
- else
- {
- Console.WriteLine("Недопустимое количество рублей");
- }
- break;
- case UsdToRubCommand:
- Console.WriteLine("Обмен долларов на рубли");
- Console.Write("Сколько вы хотите обменять?: ");
- currencyCount = Convert.ToSingle(Console.ReadLine());
- if (usd >= currencyCount)
- {
- usd -= currencyCount;
- rub += currencyCount / rubToUsd;
- }
- else
- {
- Console.WriteLine("Недопустимое количество долларов");
- }
- break;
- case EurToUsdCommand:
- Console.WriteLine("Обмен евро на долларов");
- Console.Write("Сколько вы хотите обменять?: ");
- currencyCount = Convert.ToSingle(Console.ReadLine());
- if (euro >= currencyCount)
- {
- euro -= currencyCount;
- usd += currencyCount / UsdToEur;
- }
- else
- {
- Console.WriteLine("Недопустимое количество евро");
- }
- break;
- case UsdToEurCommand:
- Console.WriteLine("Обмен долларов на евро");
- Console.Write("Сколько вы хотите обменять?: ");
- currencyCount = Convert.ToSingle(Console.ReadLine());
- if (usd >= currencyCount)
- {
- usd -= currencyCount;
- euro += currencyCount / eurToUsd;
- }
- else
- {
- Console.WriteLine("Недопустимое количество долларов");
- }
- break;
- }
- Console.WriteLine($"Ваш баланс {rub} рублей и {euro} евро и {usd} долларов ");
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment