Вычислить площадь большей окружности, меньшей окружности и кольца, образованного ими - C#

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

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

Помогите! Разработайте программу с использованием класса Ring (кольцо), в котором реализовано вычисление площади большей окружности, меньшей окружности и кольца, образованного ими. Класс должен содержать конструктор по умолчанию и конструктор инициализации. В программе должно быть объявлено не менее 3-х объектов класса с вызовом для них соответствующих методов.

Решение задачи: «Вычислить площадь большей окружности, меньшей окружности и кольца, образованного ими»

textual
Листинг программы
public class Ring
{
    public class RingException : Exception
    {
        public RingException()
            : base("Inner Radius should not exceed Outer one")
        { }
        public RingException(string message)
            : base(message)
        { }
    }
 
    private double innerRadius = 0;
    private double outerRadius = 0;
 
    public double InnerRadius
    {
        get { return innerRadius; }
        set
        {
            if (isValid(value, outerRadius))
                innerRadius = value;
            else
                throw new RingException();
        }
    }
    public double OuterRadius
    {
        get { return outerRadius; }
        set
        {
            if (isValid(innerRadius, value))
                outerRadius = value;
            else
                throw new RingException();
        }
    }
    public double InnerSquare
    { get { return Math.PI * innerRadius * innerRadius; } }
    public double OuterSquare
    { get { return Math.PI * outerRadius * outerRadius; } }
    public double Square
    { get { return OuterSquare - InnerSquare; } }
 
    protected virtual bool isValid(double inner, double outer)
    { return inner <= outer; }
 
 
    public void SetRadius(double inner, double outer)
    {
        if (isValid(inner, outer))
        {
            this.innerRadius = inner;
            this.outerRadius = outer;
        }
        else
            throw new ArgumentException("Inner Radius should not exceed Outer one");
    }
 
    public override string ToString()
    { return String.Format("Inner: {0}; Outer: {1}", this.innerRadius, this.outerRadius); }
 
    public Ring()
    { SetRadius(0, 0); }
 
    public Ring(double r)
    { SetRadius(0, r); }
 
    public Ring(double inner, double outer)
    { SetRadius(inner, outer); }
}

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


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

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

5   голосов , оценка 3.6 из 5
Похожие ответы