예제 #1
0
        /// <summary>
        /// Метод сравнивает переведенныет градусы
        /// на соответствие правильным значениям.
        /// </summary>
        private static void Testing()
        {
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("Начинаем тестирование!");
            Console.ResetColor();
            TemperatureConverterImp termometer = new TemperatureConverterImp();

            delegateConvertTemperature[] scaleTranslator =
            { termometer.CelsiusToFahrenheit, termometer.FahrenheitToCelsius };
            Console.WriteLine("Переведем из Цельсия в Фаренгейты и из Фаренгейтов в Цельсий");
            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine("{0} по Цельсию примерно равен {1} по Фаренгейту",
                              testCelsium, scaleTranslator[0](testCelsium));
            Console.WriteLine("{0} по Фаренгейту примерно равен {1} по Цельсию",
                              testFahrenheit, scaleTranslator[1](testFahrenheit));
            if (Equals((scaleTranslator[0](testCelsium)), testFahrenheit) &&
                Equals(scaleTranslator[1](testFahrenheit), testCelsium))
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("Тест пройден!");
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Тест не пройден!");
            }
        }
        static void Main()
        {
            Console.WriteLine($"Задача #3: {Environment.NewLine}");
            // --------------------------------------------------------
            // Блок кода, необходимый для первой части третьей задачи (скорее более вводный в условие задачи).
            TemperatureConverterImp    converter      = new TemperatureConverterImp();
            delegateConvertTemperature TempCelsToFahr = new delegateConvertTemperature(converter.CelsToFahr);
            delegateConvertTemperature TempFahrToCels = new delegateConvertTemperature(converter.FahrToCels);

            Console.WriteLine("Пример работы перевода 45.5 градусов по Цельсию в градусы по Фаренгейту:");
            Console.WriteLine($"{TempCelsToFahr(45.5):F2}");
            Console.WriteLine("Пример работы перевода 70 градусов по Фаренгейту в градусы по Цельсию:");
            Console.WriteLine($"{TempFahrToCels(70):F2}");
            Console.WriteLine($"--------------------------------{Environment.NewLine}");
            // --------------------------------------------------------
            // Блок кода, необходимый для второй части третьей задачи.
            double initialTemp = -273.15;

            do
            {
                Console.WriteLine("Введите действительное значение температуры в градусах Цельсия (> -273.15):");
            } while (!double.TryParse(Console.ReadLine(), out initialTemp) || initialTemp == -273.15);
            delegateConvertTemperature[] delegateArray = { StaticTempConverters.CelsToFahr, StaticTempConverters.CelsToKelvin, StaticTempConverters.CelsToRankin, StaticTempConverters.CelsToReaumur };
            foreach (delegateConvertTemperature element in delegateArray)
            {
                Console.WriteLine(element?.Invoke(initialTemp));
            }
        }
예제 #3
0
        static void Main(string[] args)
        {
            delegataConvertTemperature del1, del2;
            double c = 36.6;
            TemperatureConverterImp temperature = new TemperatureConverterImp();

            del1 = temperature.CelsiumToFarenheit;
            del2 = temperature.FarenheitToCelsium;
            Console.WriteLine(del1(c) + " " + del2(c));
            Console.ReadKey();
        }
예제 #4
0
 static void Main(string[] args)
 {
     Testing();
     #region repeatTask
     do
     {
         TemperatureConverterImp      termometer      = new TemperatureConverterImp();
         delegateConvertTemperature[] scaleTranslator = { termometer.CelsiusToFahrenheit,
                                                          StaticTempConverters.CelsiusToKelvin,StaticTempConverters.CelsiusToRankine,
                                                          StaticTempConverters.CelsiusToRoemer };
         CelsiusToEverything(scaleTranslator);
         Console.WriteLine("Нажмите Escape чтобы выйти" + Environment.NewLine
                           + "Нажмите на Enter чтобы продолжить");
     } while (Console.ReadKey().Key != ConsoleKey.Escape);
     #endregion
 }
예제 #5
0
        static void Main(string[] args)
        {
            TemperatureConverterImp tci = new TemperatureConverterImp();

            delegateConvertTemperature[] delegates = new delegateConvertTemperature[4];
            delegates[0] = tci.ConvertToFahrenheit;
            delegates[1] = StaticTempConverters.ConvertToKelvin;
            delegates[2] = StaticTempConverters.ConvertToRankin;
            delegates[3] = StaticTempConverters.ConvertToReaumur;
            do
            {
                Console.Clear();
                double x;
                do
                {
                    Console.Clear();
                    Console.WriteLine("Введите температуру в градусах Цельсия:");
                } while (!double.TryParse(Console.ReadLine(), out x));
                Console.WriteLine("°C\t°F\tK\t°R\t°Re");
                Console.WriteLine(x + "\t" + delegates[0](x).ToString("F2") + "\t" + delegates[1](x).ToString("F2") + "\t" + delegates[2](x).ToString("F2") + "\t" + delegates[3](x).ToString("F2"));
                Console.WriteLine("Чтобы выйти из программы, нажмите Escape");
            } while (Console.ReadKey().Key != ConsoleKey.Escape);
        }