Создать классы Point и Figure в консоли - C#
Формулировка задачи:
Уважаемые, получил домашнее задание:
Создайте проект по шаблону Console Application .
Требуется: Создать классы Point и Figure .
Класс Point должен содержать два целочисленных поля и одно строковое поле.
Создать три свойства с одним методом доступа get .
Создать пользовательский конструктор, в теле которого проинициализируйте поля значениями аргументов.
Класс Figure должен содержать конструкторы, которые принимают от 3 -х до 5 -ти аргументов типа Point .
Создать два метода : double LengthSide ( Point A , Point B ) , который рассчитывает длину стороны многоугольника; void PerimeterCalculator() , который рассчитывает периметр многоугольника.
Написать программу, которая выводит на экран название и периметр многоугольника .
Вот моя прожка, выдает ошибку после инциализации первой точки.
Прокомментируйте, пожалуйста, что не так, и как лучше?
Листинг программы
- class Point
- {
- string name;
- int x, y;
- public int X
- {
- get
- {
- return x;
- }
- }
- public int Y
- {
- get
- {
- return y;
- }
- }
- public string Name
- {
- get
- {
- return name;
- }
- }
- public Point()
- : this("", 0, 0) { }
- public Point(string name, int x, int y)
- {
- Console.WriteLine("Enter a letter of Point:");
- this.name = Console.ReadLine();
- Console.WriteLine("Enter X:");
- this.x = int.Parse(Console.ReadLine());
- Console.WriteLine("Enter Y:");
- this.y = int.Parse(Console.ReadLine());
- }
- }
Листинг программы
- class Figure
- {
- int number;
- Point[] points;
- string name;
- public string Name
- {
- get
- {
- return name;
- }
- set
- {
- name = value;
- }
- }
- public void InitializeFigure()
- {
- Console.WriteLine("enter number of verticles of your figure");
- number = int.Parse(Console.ReadLine());
- for (int i = 0; i < number; i++)
- {
- points[i] = new Point();
- }
- }
- public double LengthSide(Point a, Point b)
- {
- return Math.Sqrt(Math.Pow(a.X - b.X, 2) + Math.Pow(a.Y - b.Y, 2));
- }
- public double CalculatePerimeter(params Point[]points)
- {
- double perimeter = 0;
- for(int i = 1; i<points.Length;i++)
- {
- perimeter += this.LengthSide(points[i-1], points[i]);
- }
- perimeter += this.LengthSide(points[0], points[points.Length]);
- return perimeter;
- }
- public Figure(string name)
- {
- InitializeFigure();
- }
- }
Листинг программы
- class Program
- {
- static void Main(string[] args)
- {
- Figure cube = new Figure("cube");
- Console.WriteLine(cube.CalculatePerimeter());
- Console.ReadKey();
- }
- }
Решение задачи: «Создать классы Point и Figure в консоли»
textual
Листинг программы
- Console.WriteLine("enter number of verticles of your figure");
- number = int.Parse(Console.ReadLine());
- for (int i = 0; i < number; i++)
- {
- points[i] = new Point();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д