Exemplo n.º 1
0
        // основная функция программы, содержащее меню для тестирования методов класса Rectangle
        static void Main(string[] args)
        {
            // объявляем и создаем два объекта класса Rectangle, с помощью которых будем тестировать методы класса Rectangle
            Rectangle r1 = new Rectangle(0, 0, 0, 0);
            Rectangle r2 = new Rectangle(0, 0, 0, 0);

            // запускаем бесконечный цикл для возможности повторного выбора какого-либо пункта меню
            while (true)
            {
                // выводим меню пользователю
                Console.WriteLine("====== МЕНЮ ======");
                Console.WriteLine("1 - ввести координаты первого прямоугольника");
                Console.WriteLine("2 - ввести координаты второго прямоугольника");
                Console.WriteLine("3 - вывести координаты и размеры первого прямоугольника");
                Console.WriteLine("4 - вывести координаты и размеры второго прямоугольника");
                Console.WriteLine("5 - переместить первый прямоугольник");
                Console.WriteLine("6 - переместить второй прямоугольник");
                Console.WriteLine("7 - изменить размеры первого прямоугольника");
                Console.WriteLine("8 - изменить размеры второго прямоугольника");
                Console.WriteLine("9 - вывести прямоугольник, получаемый пересечением первого и второго");
                Console.WriteLine("10 - вывести прямоугольник, получаемый объединением первого и второго");
                Console.WriteLine("11 - завершить работу программы");
                Console.WriteLine();

                // получаем от пользователя выбранный пункт меню
                Console.Write("Введите выбранный пункт меню: ");
                string option = Console.ReadLine();

                // в зависимости от пункта делаем то или иное действие
                switch (option)
                {
                // если выбран 1 пункт меню
                case "1":
                {
                    r1.enter();
                    break;
                }

                // если выбран 2 пункт меню
                case "2":
                {
                    r2.enter();
                    break;
                }

                // если выбран 3 пункт меню
                case "3":
                {
                    Console.WriteLine(r1);
                    break;
                }

                // если выбран 4 пункт меню
                case "4":
                {
                    Console.WriteLine(r2);
                    break;
                }

                // если выбран 5 пункт меню
                case "5":
                {
                    Console.Write("Введите сколько прибавить к координате 'x': ");
                    double x_plus = Convert.ToDouble(Console.ReadLine());

                    Console.Write("Введите сколько прибавить к координате 'y': ");
                    double y_plus = Convert.ToDouble(Console.ReadLine());

                    r1.Offset(x_plus, y_plus);
                    break;
                }

                // если выбран 6 пункт меню
                case "6":
                {
                    Console.Write("Введите сколько прибавить к координате 'x': ");
                    double x_plus = Convert.ToDouble(Console.ReadLine());

                    Console.Write("Введите сколько прибавить к координате 'y': ");
                    double y_plus = Convert.ToDouble(Console.ReadLine());

                    r2.Offset(x_plus, y_plus);
                    break;
                }

                // если выбран 7 пункт меню
                case "7":
                {
                    Console.Write("Введите коэффициент: ");
                    double c = Convert.ToDouble(Console.ReadLine());

                    r1.Resize(c);
                    break;
                }

                // если выбран 8 пункт меню
                case "8":
                {
                    Console.Write("Введите коэффициент: ");
                    double c = Convert.ToDouble(Console.ReadLine());

                    r2.Resize(c);
                    break;
                }

                // если выбран 9 пункт меню
                case "9":
                {
                    Rectangle r = Rectangle.Intersect(r1, r2);
                    Console.WriteLine("Получившийся прямоугольник:");
                    Console.WriteLine(r);
                    break;
                }

                // если выбран 10 пункт меню
                case "10":
                {
                    Rectangle r = Rectangle.Union(r1, r2);
                    Console.WriteLine("Получившийся прямоугольник:");
                    Console.WriteLine(r);
                    break;
                }

                // если выбран 11 пункт меню
                case "11":
                {
                    // выходим из главной функции, то есть завершаем работу программы
                    return;
                }

                // ветка switch'a по умолчанию - сюда попадаем, если не попали в остальные ветки
                default:
                {
                    Console.Write("Такого пункта не существует. Пожалуйста, повторите ввод.");
                    break;
                }
                }
            }
        }