Создать классы 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(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д