Last active
June 2, 2025 16:22
-
-
Save plrtp68217/fb4244000de5e2870e280def5aa3ab2e to your computer and use it in GitHub Desktop.
ДЗ: Конвертер валют
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace Task | |
{ | |
internal class Program | |
{ | |
static void Main() | |
{ | |
const string UsdToRubCommand = "usdToRub"; | |
const string RubToUsdCommand = "rubToUsd"; | |
const string EuroToRubCommand = "euroToRub"; | |
const string RubToEuroCommand = "rubToEuro"; | |
const string EuroToUsdCommand = "euroToUsd"; | |
const string UsdToEuroCommand = "usdToEuro"; | |
const string ShowBalanceCommand = "showBalance"; | |
const string ExitCommand = "exit"; | |
double usdToRubRate = 79; | |
double rubToUsdRate = 1 / usdToRubRate; | |
double euroToRubRate = 90; | |
double rubToEuroRate = 1 / euroToRubRate; | |
double euroToUsdRate = 1.14; | |
double usdToEuroRate = 1 / euroToUsdRate; | |
double rubBalance = 1500; | |
double usdBalance = 900; | |
double euroBalance = 500; | |
double moneyAmount; | |
string textMenu = "МЕНЮ\n" + | |
$"{UsdToRubCommand} - Доллары в рубли\n" + | |
$"{RubToUsdCommand} - Рубли в доллары\n" + | |
$"{EuroToRubCommand} - Евро в рубли\n" + | |
$"{RubToEuroCommand} - Рубли в евро\n" + | |
$"{EuroToUsdCommand} - Евро в доллары\n" + | |
$"{UsdToEuroCommand} - Доллары в евро\n" + | |
$"{ShowBalanceCommand} - Показать баланс\n" + | |
$"{ExitCommand} - Выход"; | |
bool isWork = true; | |
string command; | |
Console.WriteLine(textMenu); | |
while (isWork) | |
{ | |
Console.Write("Команда: "); | |
command = Console.ReadLine(); | |
switch (command) | |
{ | |
case UsdToRubCommand: | |
Console.Write("Объем конвертации: "); | |
moneyAmount = Convert.ToDouble(Console.ReadLine()); | |
if (usdBalance >= moneyAmount && moneyAmount > 0) | |
{ | |
usdBalance -= moneyAmount; | |
rubBalance += moneyAmount * usdToRubRate; | |
} | |
break; | |
case RubToUsdCommand: | |
Console.Write("Объем конвертации: "); | |
moneyAmount = Convert.ToDouble(Console.ReadLine()); | |
if (rubBalance >= moneyAmount && moneyAmount > 0) | |
{ | |
rubBalance -= moneyAmount; | |
usdBalance += moneyAmount * rubToUsdRate; | |
} | |
break; | |
case EuroToRubCommand: | |
Console.Write("Объем конвертации: "); | |
moneyAmount = Convert.ToDouble(Console.ReadLine()); | |
if (euroBalance >= moneyAmount && moneyAmount > 0) | |
{ | |
euroBalance -= moneyAmount; | |
rubBalance += moneyAmount * euroToRubRate; | |
} | |
break; | |
case RubToEuroCommand: | |
Console.Write("Объем конвертации: "); | |
moneyAmount = Convert.ToDouble(Console.ReadLine()); | |
if (rubBalance >= moneyAmount && moneyAmount > 0) | |
{ | |
rubBalance -= moneyAmount; | |
euroBalance += moneyAmount * rubToEuroRate; | |
} | |
break; | |
case EuroToUsdCommand: | |
Console.Write("Объем конвертации: "); | |
moneyAmount = Convert.ToDouble(Console.ReadLine()); | |
if (euroBalance >= moneyAmount && moneyAmount > 0) | |
{ | |
euroBalance -= moneyAmount; | |
usdBalance += moneyAmount * euroToUsdRate; | |
} | |
break; | |
case UsdToEuroCommand: | |
Console.Write("Объем конвертации: "); | |
moneyAmount = Convert.ToDouble(Console.ReadLine()); | |
if (usdBalance >= moneyAmount && moneyAmount > 0) | |
{ | |
usdBalance -= moneyAmount; | |
euroBalance += moneyAmount * usdToEuroRate; | |
} | |
break; | |
case ShowBalanceCommand: | |
Console.WriteLine($"Рубли: {rubBalance}, " + | |
$"доллары: {usdBalance}, " + | |
$"евро: {euroBalance}"); | |
break; | |
case ExitCommand: | |
isWork = false; | |
break; | |
default: | |
Console.WriteLine("Такой команды нет."); | |
break; | |
} | |
} | |
Console.WriteLine("Пограмма закрыта."); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment