Определить класс КОЛЬЦО через вычитание двух кругов - C#
Формулировка задачи:
Необходимо задать 2 класса и опеределить операцию вычитания
Решение задачи: «Определить класс КОЛЬЦО через вычитание двух кругов»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CircleRing { class Circle { public double D { get; set; } public double Area { get { return Math.PI*D*D/4.0; } } public static Ring operator -(Circle c1, Circle c2) { if (c1.D - c2.D < Double.Epsilon) { throw new Exception("Диаметр круга меньше диаметра вычитаемого круга!"); } return new Ring(){InnerD = c2.D, OutD = c1.D}; } } class Ring { public double InnerD { get; set; } public double OutD { get; set; } public double Area { get { return getArea(); } } private double getArea() { if (OutD-InnerD<Double.Epsilon) { throw new Exception("Внешний диаметр кольца больше внутреннего!"); } return (Math.PI * OutD * OutD / 4.0) - (Math.PI * InnerD * InnerD / 4.0); } } class Program { static void Main(string[] args) { Circle c1 = new Circle() {D = 15}; Circle c2 = new Circle() { D = 10 }; var x = c1 - c2; Console.WriteLine(x.GetType()); Console.WriteLine("InnerD = {0}; OutD = {1}", x.InnerD, x.OutD); Console.WriteLine("Area = {0}", x.Area); Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д