Параметры круга. get{} и set{} - C#

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

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

Дан радиус круга. Надо вывести диаметр, площадь и длину круга. Написал вот так:
Листинг программы
  1. struct CircleParameters
  2. {
  3. private double radius;
  4. private double diameter;
  5. private double square;
  6. private double circleLength;
  7. public double Radius
  8. {
  9. get
  10. {
  11. return radius;
  12. }
  13. set
  14. {
  15. radius = value;
  16. }
  17. }
  18. public double Diameter
  19. {
  20. get
  21. {
  22. return diameter = Radius * 2;
  23. }
  24. }
  25. public double Square
  26. {
  27. get
  28. {
  29. return square = Math.PI * Math.Pow(Radius, 2);
  30. }
  31. }
  32. public double CircleLength
  33. {
  34. get
  35. {
  36. return circleLength = Math.PI * Diameter; ;
  37. }
  38. }
  39. }
  40. static void Main(string[] args)
  41. {
  42. double radius = double.Parse(Console.ReadLine());
  43. var parameters = new CircleParameters();
  44. parameters.Radius = radius;
  45. Console.WriteLine(parameters.Diameter);
  46. Console.WriteLine(parameters.Square);
  47. Console.WriteLine(parameters.CircleLength);
  48. }
Препод пишет, что нельзя напрямую задать диаметр. Как это исправить?
И площадь с длиной тоже чтобы можно было вводить напрямую.

Решение задачи: «Параметры круга. get{} и set{}»

textual
Листинг программы
  1. using System;
  2. class Strings
  3. {
  4.     struct CircleParameters
  5.     {
  6.         private double radius;
  7.         public double Radius
  8.         {
  9.             get
  10.             {
  11.                 return radius;
  12.             }
  13.             set
  14.             {
  15.                 if (value > 0)
  16.                     radius = value;
  17.             }
  18.         }
  19.         public double Diameter
  20.         {
  21.             get
  22.             {
  23.                 return Radius * 2;
  24.             }
  25.             set
  26.             {
  27.                 if (value > 0)
  28.                     radius = value / 2;
  29.             }
  30.         }
  31.         public double Square
  32.         {
  33.             get
  34.             {
  35.                 return Math.PI * Math.Pow(Radius, 2);
  36.             }
  37.             set
  38.             {
  39.                 if (value > 0)
  40.                     radius = Math.Sqrt(value / Math.PI);
  41.             }
  42.         }
  43.         public double CircleLength
  44.         {
  45.             get
  46.             {
  47.                 return Math.PI * Diameter;
  48.             }
  49.             set
  50.             {
  51.                 if (value > 0)
  52.                     radius = value / (2 * Math.PI);
  53.             }
  54.         }
  55.  
  56.         public override string ToString()
  57.         {
  58.             return string.Format("Радиус {0}\nДиаметр {1}\nПлощадь {2}\nДлина окружности {3}\n", Radius, Diameter, Square, CircleLength);
  59.         }
  60.     }
  61.  
  62.     static void Main(string[] args)
  63.     {
  64.         var circle = new CircleParameters();
  65.         circle.Radius = 20;
  66.         Console.WriteLine(circle);
  67.         circle.Diameter = 100;
  68.         Console.WriteLine(circle);
  69.         circle.Square = 200;
  70.         Console.WriteLine(circle);
  71.         circle.CircleLength = 300;
  72.         Console.WriteLine(circle);
  73.     }
  74.  
  75. }

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


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

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

6   голосов , оценка 3.667 из 5

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

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

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