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

ТЕРМІНОВО!!!
С#
Даю 100 балів за виконання завдання

Приложения:

Ответы

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

Ответ:

Объяснение:

using System;

// Класс Point

public class Point

{

   public int X { get; set; }

   public int Y { get; set; }

   public Point(int x, int y)

   {

       X = x;

       Y = y;

   }

}

// Класс ColoredPoint на основе класса Point

public class ColoredPoint : Point

{

   public string Color { get; set; }

   public ColoredPoint(int x, int y, string color) : base(x, y)

   {

       Color = color;

   }

}

// Класс Line

public class Line

{

   public Point StartPoint { get; set; }

   public Point EndPoint { get; set; }

   public Line(Point startPoint, Point endPoint)

   {

       StartPoint = startPoint;

       EndPoint = endPoint;

   }

   public void Rotate(double angle)

   {

       // Логика поворота линии на заданный угол

   }

}

// Класс ColoredLine на основе класса Line

public class ColoredLine : Line

{

   public string Color { get; set; }

   public ColoredLine(Point startPoint, Point endPoint, string color) : base(startPoint, endPoint)

   {

       Color = color;

   }

}

// Класс PolyLine

public class PolyLine

{

   public Point[] Points { get; set; }

   public PolyLine(Point[] points)

   {

       Points = points;

   }

   public void Scale(double factor)

   {

       // Логика масштабирования многокутника на заданный коэффициент

   }

}

// Пример использования классов с помощью меню пользователя

public class Program

{

   public static void Main()

   {

       // Создаем объекты Point, ColoredPoint, Line, ColoredLine, PolyLine

       Point point = new Point(1, 2);

       ColoredPoint coloredPoint = new ColoredPoint(3, 4, "Red");

       Line line = new Line(new Point(1, 2), new Point(3, 4));

       ColoredLine coloredLine = new ColoredLine(new Point(1, 2), new Point(3, 4), "Blue");

       PolyLine polyLine = new PolyLine(new Point[] { new Point(1, 2), new Point(3, 4), new Point(5, 6) });

       // Демонстрация работы классов с помощью меню пользователя

       int choice;

       do

       {

           Console.WriteLine("Меню:");

           Console.WriteLine("1. Отобразить координаты точки");

           Console.WriteLine("2. Отобразить цвет точки");

           Console.WriteLine("3. Отобразить координаты линии");

           Console.WriteLine("4. Отобразить цвет линии");

           Console.WriteLine("5. Масштабировать многокутник");

           Console.WriteLine("0. Выход");

           Console.Write("Введите номер операции: ");

           choice = Convert.ToInt32(Console.ReadLine());

           switch (choice)

           {

               case 1:

                   Console.WriteLine($"Координаты точки: X={point.X}, Y={point.Y}");

                   break;

               case 2:

                   Console.WriteLine($"Цвет точки: {coloredPoint.Color}");

                   break;

               case 3:

                   Console.WriteLine($"Координаты линии: ({line.StartPoint.X}, {line.StartPoint.Y}) - ({line.EndPoint.X}, {line.EndPoint.Y})");

                   break;

               case 4:

                   Console.WriteLine($"Цвет линии: {coloredLine.Color}");

                   break;

               case 5:

                   Console.Write("Введите коэффициент масштабирования: ");

                   double scaleFactor = Convert.ToDouble(Console.ReadLine());

                   polyLine.Scale(scaleFactor);

                   Console.WriteLine("Многокутник успешно масштабирован.");

                   break;

               case 0:

                   Console.WriteLine("Выход из программы.");

                   break;

               default:

                   Console.WriteLine("Некорректный выбор операции.");

                   break;

           }

           Console.WriteLine();

       } while (choice != 0);

   }

}

Этот пример кода демонстрирует создание классов Point, ColoredPoint, Line, ColoredLine и PolyLine с соответствующими свойствами и методами. Программа также включает простое меню, которое позволяет пользователю выбрать операцию для демонстрации работы классов.

Похожие вопросы
Предмет: Английский язык, автор: plotnikovadanna