Параметры круга. 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);
    }
 
}

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


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

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

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