Создать классы Point и Figure в консоли - C#

Узнай цену своей работы

Формулировка задачи:

Уважаемые, получил домашнее задание: Создайте проект по шаблону Console Application . Требуется: Создать классы Point и Figure . Класс Point должен содержать два целочисленных поля и одно строковое поле. Создать три свойства с одним методом доступа get . Создать пользовательский конструктор, в теле которого проинициализируйте поля значениями аргументов. Класс Figure должен содержать конструкторы, которые принимают от 3 -х до 5 -ти аргументов типа Point . Создать два метода : double LengthSide ( Point A , Point B ) , который рассчитывает длину стороны многоугольника; void PerimeterCalculator() , который рассчитывает периметр многоугольника. Написать программу, которая выводит на экран название и периметр многоугольника . Вот моя прожка, выдает ошибку после инциализации первой точки.

Прокомментируйте, пожалуйста, что не так, и как лучше?

Листинг программы
  1. class Point
  2. {
  3. string name;
  4. int x, y;
  5. public int X
  6. {
  7. get
  8. {
  9. return x;
  10. }
  11. }
  12. public int Y
  13. {
  14. get
  15. {
  16. return y;
  17. }
  18. }
  19. public string Name
  20. {
  21. get
  22. {
  23. return name;
  24. }
  25. }
  26. public Point()
  27. : this("", 0, 0) { }
  28. public Point(string name, int x, int y)
  29. {
  30. Console.WriteLine("Enter a letter of Point:");
  31. this.name = Console.ReadLine();
  32. Console.WriteLine("Enter X:");
  33. this.x = int.Parse(Console.ReadLine());
  34. Console.WriteLine("Enter Y:");
  35. this.y = int.Parse(Console.ReadLine());
  36. }
  37. }
Листинг программы
  1. class Figure
  2. {
  3. int number;
  4. Point[] points;
  5. string name;
  6. public string Name
  7. {
  8. get
  9. {
  10. return name;
  11. }
  12. set
  13. {
  14. name = value;
  15. }
  16. }
  17. public void InitializeFigure()
  18. {
  19. Console.WriteLine("enter number of verticles of your figure");
  20. number = int.Parse(Console.ReadLine());
  21. for (int i = 0; i < number; i++)
  22. {
  23. points[i] = new Point();
  24. }
  25. }
  26. public double LengthSide(Point a, Point b)
  27. {
  28. return Math.Sqrt(Math.Pow(a.X - b.X, 2) + Math.Pow(a.Y - b.Y, 2));
  29. }
  30. public double CalculatePerimeter(params Point[]points)
  31. {
  32. double perimeter = 0;
  33. for(int i = 1; i<points.Length;i++)
  34. {
  35. perimeter += this.LengthSide(points[i-1], points[i]);
  36. }
  37. perimeter += this.LengthSide(points[0], points[points.Length]);
  38. return perimeter;
  39. }
  40. public Figure(string name)
  41. {
  42. InitializeFigure();
  43. }
  44. }
Листинг программы
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. Figure cube = new Figure("cube");
  6. Console.WriteLine(cube.CalculatePerimeter());
  7. Console.ReadKey();
  8. }
  9. }

Решение задачи: «Создать классы Point и Figure в консоли»

textual
Листинг программы
  1. Console.WriteLine("enter number of verticles of your figure");
  2. number = int.Parse(Console.ReadLine());
  3.  for (int i = 0; i < number; i++)
  4. {
  5. points[i] = new Point();
  6. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут