Помогите пожалуйста.
Мова С#
Ответы
namespace lab
{
internal class Program
{
private static readonly ConsoleColor errorColor = ConsoleColor.Red;
private static void Main()
{
Console.WriteLine("1. Дециметр");
Console.WriteLine("2. Километр");
Console.WriteLine("3. Метр");
Console.WriteLine("4. Миллиметр");
Console.WriteLine("5. Сантиметр");
Console.Write("Выберете в каких единицах указана длина (введите цифру от 1 до 5): ");
int choose;
while(!int.TryParse(Console.ReadLine(), out choose) || choose <= 0 || choose > 5)
ColorWrite("Неверный ввод, попробуйте ещё раз: ", errorColor);
Console.Write("Введите количество этих едениц: ");
double length;
while (!double.TryParse(Console.ReadLine()?.Replace('.', ','), out length) || length <= 0)
ColorWrite("Неверный ввод, попробуйте ещё раз: ", errorColor);
string unitsName;
double resultInMeter;
switch (choose)
{
case 1:
unitsName = "дециметр";
resultInMeter = DecimetrToMeter(length);
break;
case 2:
unitsName = "километр";
resultInMeter = KilometerToMeter(length);
break;
case 3:
unitsName = "метр";
resultInMeter = length;
break;
case 4:
unitsName = "миллиметр";
resultInMeter = MillimeterToMeter(length);
break;
case 5:
unitsName = "сантиметр";
resultInMeter = CentimeterToMeter(length);
break;
default:
unitsName = string.Empty;
resultInMeter = 0;
break;
}
Console.WriteLine($"{length} {unitsName}(-ов) в метрах равно: {resultInMeter}");
}
private static void ColorWrite(string message, ConsoleColor fontColor)
{
var defaultFontColor = Console.ForegroundColor;
Console.ForegroundColor = fontColor;
Console.Write(message);
Console.ForegroundColor = defaultFontColor;
}
private static double DecimetrToMeter(double length)
{
return length / 10.0;
}
private static double KilometerToMeter(double length)
{
return length * 1000.0;
}
private static double MillimeterToMeter(double length)
{
return length / 1000.0;
}
private static double CentimeterToMeter(double length)
{
return length / 100.0;
}
}
}