Создать классы 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();
}