Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Triangle       triang = new Triangle();
            ConsoleKeyInfo keyPressed;

            do
            {
                Console.Clear();
                Console.ForegroundColor = ConsoleColor.DarkRed;
                Console.WriteLine("                   Определение типа треугольника ");
                Console.WriteLine("1. Создать новый треугольник.");
                Console.WriteLine("2. Изменить длину стороны А.");
                Console.WriteLine("3. Изменить длину стороны В.");
                Console.WriteLine("4. Изменить длину стороны С.");
                Console.WriteLine("ESC - выход.");
                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.DarkYellow;
                Console.WriteLine("Длина стороны А: {0}, Длина стороны B: {1}, Длина стороны C: {2}", triang.SideA, triang.SideB, triang.SideC);
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine();
                switch (triang.GetTriangType())
                {
                case 1: Console.WriteLine("Треугольник остроунольный."); break;

                case 2: Console.WriteLine("Треугольник тупоугольный."); break;

                case 3: Console.WriteLine("Треугольник прямоугольный."); break;

                case 4: Console.WriteLine("Треугольник не существует."); break;
                }

                keyPressed = Console.ReadKey();

                if (keyPressed.Key == ConsoleKey.D1)
                {
                    triang = new Triangle();
                    double sa, sb, sc;
                    bool   parseResult;

                    Console.Clear();
                    do
                    {
                        Console.Write("Введите длину стороны А: ");
                        parseResult = double.TryParse(Console.ReadLine(), out sa);
                        if (!parseResult)
                        {
                            Console.WriteLine("Длинна стороны должна быть положительным числом!");
                        }
                        else if (sa <= 0)
                        {
                            parseResult = false;
                            Console.WriteLine("Длинна стороны должна быть положительным числом!");
                        }
                        else
                        {
                            triang.SideA = sa;
                        }
                    }while (!parseResult);

                    do
                    {
                        Console.WriteLine();
                        Console.Write("Введите длину стороны В: ");
                        parseResult = double.TryParse(Console.ReadLine(), out sb);
                        if (!parseResult)
                        {
                            Console.WriteLine("Длинна стороны должна быть положительным числом!");
                            Console.ReadLine();
                        }
                        else if (sb <= 0)
                        {
                            parseResult = false;
                            Console.WriteLine("Длинна стороны должна быть положительным числом!");
                            Console.ReadLine();
                        }
                        else
                        {
                            triang.SideB = sb;
                        }
                    } while (!parseResult);

                    do
                    {
                        Console.WriteLine();
                        Console.Write("Введите длину стороны C: ");
                        parseResult = double.TryParse(Console.ReadLine(), out sc);
                        if (!parseResult)
                        {
                            Console.WriteLine("Длинна стороны должна быть положительным числом!");
                            Console.ReadLine();
                        }
                        else if (sc <= 0)
                        {
                            parseResult = false;
                            Console.WriteLine("Длинна стороны должна быть положительным числом!");
                            Console.ReadLine();
                        }
                        else
                        {
                            triang.SideC = sc;
                        }
                    } while (!parseResult);
                }

                if (keyPressed.Key == ConsoleKey.D2)
                {
                    double sa;
                    bool   parseResult;

                    Console.Clear();
                    do
                    {
                        Console.Write("Введите длину стороны А: ");
                        parseResult = double.TryParse(Console.ReadLine(), out sa);
                        if (!parseResult)
                        {
                            Console.WriteLine("Длинна стороны должна быть положительным числом!");
                        }
                        else if (sa <= 0)
                        {
                            parseResult = false;
                            Console.WriteLine("Длинна стороны должна быть положительным числом!");
                        }
                        else
                        {
                            triang.SideA = sa;
                        }
                    } while (!parseResult);
                }

                if (keyPressed.Key == ConsoleKey.D3)
                {
                    double sb;
                    bool   parseResult;

                    Console.Clear();
                    do
                    {
                        Console.Write("Введите длину стороны B: ");
                        parseResult = double.TryParse(Console.ReadLine(), out sb);
                        if (!parseResult)
                        {
                            Console.WriteLine("Длинна стороны должна быть положительным числом!");
                        }
                        else if (sb <= 0)
                        {
                            parseResult = false;
                            Console.WriteLine("Длинна стороны должна быть положительным числом!");
                        }
                        else
                        {
                            triang.SideB = sb;
                        }
                    } while (!parseResult);
                }

                if (keyPressed.Key == ConsoleKey.D4)
                {
                    double sc;
                    bool   parseResult;

                    Console.Clear();
                    do
                    {
                        Console.Write("Введите длину стороны C: ");
                        parseResult = double.TryParse(Console.ReadLine(), out sc);
                        if (!parseResult)
                        {
                            Console.WriteLine("Длинна стороны должна быть положительным числом!");
                        }
                        else if (sc <= 0)
                        {
                            parseResult = false;
                            Console.WriteLine("Длинна стороны должна быть положительным числом!");
                        }
                        else
                        {
                            triang.SideC = sc;
                        }
                    } while (!parseResult);
                }
            }while (keyPressed.Key != ConsoleKey.Escape);
        }