Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Lesson1
- {
- class Program
- {
- static void Main(string[] args)
- {
- int chooseCurency;
- int chooseCurencyExchange;
- int currencyCount;
- int rubToUsd = 80;
- int rubToEur = 85;
- float usdToEur = 1.1f;
- float sumRub;
- float sumUsd;
- float sumEur;
- string exit = "";
- Console.Write("Сколько у вас рублей:");
- sumRub =Convert.ToSingle(Console.ReadLine());
- Console.Write("Сколько у вас долларов:"); //Считываем количество денег каждой валюты
- sumUsd = Convert.ToSingle(Console.ReadLine());
- Console.Write("Сколько у вас евро:");
- sumEur = Convert.ToSingle(Console.ReadLine());
- while(exit != "exit")
- {
- Console.WriteLine("Какую валюту будем переводить?\n1 - рубли, 2 - доллары, 3 - евро");
- chooseCurency = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Во что переводим?\n1 - рубли, 2 - доллары, 3 - евро"); //Определяем из какой валюты в какую будем переводить и количество перевода
- chooseCurencyExchange = Convert.ToInt32(Console.ReadLine()); // chooseCurency - из какой, chooseCurencyExchange - в какую
- Console.Write("Сколько валюты вы хотите обменять:");
- currencyCount = Convert.ToInt32(Console.ReadLine());
- // Хотел сказать что далее идет достаточно сильное дублирование кода
- // На данный момент мы еще не прошли функции, и дублирования можно было бы избежать, если реализовать перевод валюты, как отдельную функцию
- // Вариант лучше не придумал, если можно обойтись без дублирования и отдельной функции, опишите, пожалуйста, как.
- switch (chooseCurency) //в каждом свиче происходит выбор перевода в конкретную валюту, что и можно реализовать как отдельную функцию
- {
- case 1:
- if (sumRub >= currencyCount)
- {
- if (chooseCurencyExchange == 1)
- {
- Console.WriteLine("Мы меняем рубли в рубли, может вы имели в виду что-то другое?)");
- break;
- }
- else if (chooseCurencyExchange == 2)
- {
- sumRub -= currencyCount;
- sumUsd += Convert.ToSingle(currencyCount) / rubToUsd;
- }
- else
- {
- sumRub -= currencyCount;
- sumEur += Convert.ToSingle(currencyCount) / rubToEur;
- }
- }
- else
- Console.WriteLine("У вас столько нет!");
- break;
- case 2:
- if (sumUsd >= currencyCount)
- {
- if (chooseCurencyExchange == 1)
- {
- sumUsd -= currencyCount;
- sumRub += Convert.ToSingle(currencyCount) * rubToUsd;
- break;
- }
- else if (chooseCurencyExchange == 2)
- {
- Console.WriteLine("Мы меняем доллары в доллары, может вы имели в виду что-то другое?)");
- break;
- }
- else
- {
- sumUsd -= currencyCount;
- sumEur += Convert.ToSingle(currencyCount) / usdToEur;
- }
- }
- else
- Console.WriteLine("У вас столько нет!");
- break;
- case 3:
- if (sumEur >= currencyCount)
- {
- if (chooseCurencyExchange == 1)
- {
- sumEur -= currencyCount;
- sumRub += Convert.ToSingle(currencyCount) * rubToEur;
- break;
- }
- else if (chooseCurencyExchange == 2)
- {
- sumEur -= currencyCount;
- sumUsd += Convert.ToSingle(currencyCount) * usdToEur;
- }
- else
- {
- Console.WriteLine("Мы меняем евро в евро, может вы имели в виду что-то другое?)");
- break;
- }
- }
- else
- Console.WriteLine("У вас столько нет!");
- break;
- default:
- Console.WriteLine("Пожалуйста, сделайте корректный ввод!");
- break;
- }
- Console.WriteLine($"Теперь ваш баланс таков:\n{sumRub} - рубли\n{sumUsd} - доллары\n{sumEur} - евро");
- Console.WriteLine("Если хотите закончить переводы введите 'exit', для продолжения, любое другое сообщение");
- exit = Console.ReadLine();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement