Предмет: Информатика, автор: 1414zhenya

Помогите пожалуйста.
Мова С#​

Приложения:

Ответы

Автор ответа: aurri
0

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;

       }

   }

}

Приложения:
Похожие вопросы