Параметры круга. get{} и set{} - C#
Формулировка задачи:
Дан радиус круга. Надо вывести диаметр, площадь и длину круга. Написал вот так:
Препод пишет, что нельзя напрямую задать диаметр. Как это исправить?
struct CircleParameters { private double radius; private double diameter; private double square; private double circleLength; public double Radius { get { return radius; } set { radius = value; } } public double Diameter { get { return diameter = Radius * 2; } } public double Square { get { return square = Math.PI * Math.Pow(Radius, 2); } } public double CircleLength { get { return circleLength = Math.PI * Diameter; ; } } } static void Main(string[] args) { double radius = double.Parse(Console.ReadLine()); var parameters = new CircleParameters(); parameters.Radius = radius; Console.WriteLine(parameters.Diameter); Console.WriteLine(parameters.Square); Console.WriteLine(parameters.CircleLength); }
И площадь с длиной тоже чтобы можно было вводить напрямую.
Решение задачи: «Параметры круга. get{} и set{}»
textual
Листинг программы
using System; class Strings { struct CircleParameters { private double radius; public double Radius { get { return radius; } set { if (value > 0) radius = value; } } public double Diameter { get { return Radius * 2; } set { if (value > 0) radius = value / 2; } } public double Square { get { return Math.PI * Math.Pow(Radius, 2); } set { if (value > 0) radius = Math.Sqrt(value / Math.PI); } } public double CircleLength { get { return Math.PI * Diameter; } set { if (value > 0) radius = value / (2 * Math.PI); } } public override string ToString() { return string.Format("Радиус {0}\nДиаметр {1}\nПлощадь {2}\nДлина окружности {3}\n", Radius, Diameter, Square, CircleLength); } } static void Main(string[] args) { var circle = new CircleParameters(); circle.Radius = 20; Console.WriteLine(circle); circle.Diameter = 100; Console.WriteLine(circle); circle.Square = 200; Console.WriteLine(circle); circle.CircleLength = 300; Console.WriteLine(circle); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д