Advertisement
Guest User

Untitled

a guest
Mar 31st, 2021
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.91 KB | None | 0 0
  1. using System;
  2.  
  3. namespace ConsoleApp2
  4. {
  5.     public static class Program
  6.     {
  7.         public static void Main(string[] args)
  8.         {
  9.             Console.WriteLine("Hello World!");
  10.  
  11.             var rectangle = new CRect();
  12.             rectangle.setRect(5, 8);
  13.  
  14.             var square = new CRect();
  15.             square.setRect(6);
  16.  
  17.             Console.WriteLine($"Rectangle: {rectangle.ShowRect()}");
  18.             Console.WriteLine($"Square: {square.ShowRect()}");
  19.  
  20.             var rectanglePerimeter = rectangle.Perimeter();
  21.             var squarePerimeter = square.Perimeter();
  22.  
  23.             Console.Write($"Rectangle's perimeter: {rectanglePerimeter}, square's perimeter: {squarePerimeter}. ");
  24.  
  25.             var perimeterComparison = "Perimeters are the same.";
  26.             if (rectanglePerimeter > squarePerimeter)
  27.                 perimeterComparison = "Rectangle's perimeter is bigger.";
  28.             else if (squarePerimeter > rectanglePerimeter)
  29.                 perimeterComparison = "Square's perimeter is bigger.";
  30.  
  31.             Console.WriteLine(perimeterComparison);
  32.  
  33.             var rectangleArea = rectangle.Area();
  34.             var squareArea = square.Area();
  35.  
  36.             Console.Write($"Rectangle's area: {rectangleArea}, square's area: {squareArea}. ");
  37.  
  38.             string areaComparison = "Areas are the same.";
  39.             if (rectangleArea > squareArea)
  40.                 areaComparison = "Rectangle's area is bigger.";
  41.             else if (squareArea > rectangleArea)
  42.                 areaComparison = "Square's area is bigger.";
  43.  
  44.             Console.WriteLine(areaComparison);
  45.  
  46.             Console.ReadKey();
  47.         }
  48.  
  49.         public class CRect
  50.         {
  51.             private float a;
  52.             private float b;
  53.  
  54.             private bool aIsZero => a == 0;
  55.             private bool bIsZero => b == 0;
  56.  
  57.             public void setRect(float a)
  58.             {
  59.                 if (a <= 0) throw new ArgumentOutOfRangeException(nameof(a));
  60.  
  61.                 this.a = a;
  62.             }
  63.  
  64.             public void setRect(float a, float b)
  65.             {
  66.                 if (a <= 0) throw new ArgumentOutOfRangeException(nameof(a));
  67.                 if (b <= 0) throw new ArgumentOutOfRangeException(nameof(b));
  68.  
  69.                 this.a = a;
  70.                 this.b = b;
  71.             }
  72.  
  73.             public float Perimeter()
  74.             {
  75.                 if (aIsZero) throw new InvalidOperationException($"Run {nameof(setRect)} method first");
  76.  
  77.                 return bIsZero
  78.                     ? 4 * a
  79.                     : 2 * a + 2 * b;
  80.             }
  81.  
  82.             public float Area()
  83.             {
  84.                 if (aIsZero) throw new InvalidOperationException($"Run {nameof(setRect)} method first");
  85.  
  86.                 return bIsZero
  87.                     ? a * a
  88.                     : a * b;
  89.             }
  90.  
  91.             public string ShowRect() => $"a={a}, b={b}";
  92.         }
  93.     }
  94. }
  95.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement