static void Main(string[] args) { Ellipse ellipse = new Ellipse(3, 8); Console.WriteLine(ellipse.Info()); ellipse.Scale(10); Console.WriteLine(ellipse.Info()); Triangle1 t = new Triangle1(5, 4); Console.WriteLine(t.Info()); Console.WriteLine(); Dimensions[] arr = new Dimensions[] { ellipse, t, new Ellipse(4, 6), new Triangle1(2, 8) }; for (int i = 0; i < arr.Length; ++i) { Console.WriteLine(arr[i].Info()); } StreamWriter wr = new StreamWriter("Figures"); for (int i = 0; i < arr.Length; ++i) { wr.WriteLine(arr[i].Info()); } wr.Flush(); wr.Close(); StreamReader reader = new StreamReader("Figures"); string curr; List <string> inputLines = new List <string>(); while ((curr = reader.ReadLine()) != null) { inputLines.Add(curr); } Console.WriteLine("\n\n"); Dimensions[] fromFile = new Dimensions[inputLines.Count]; for (int i = 0; i < fromFile.Length; ++i) { string[] split = inputLines[i].Split(" "); if (split[0] == "Ellipse") { fromFile[i] = new Ellipse(double.Parse(split[1]), double.Parse(split[2])); } else { fromFile[i] = new Triangle1(double.Parse(split[1]), double.Parse(split[2])); } Console.WriteLine(fromFile[i].Info()); } }
/// <summary> /// Compares two instances of this object. /// </summary> /// <param name="Triangle1">A Triangle<T>.</param> /// <param name="Triangle2">Another Triangle<T>.</param> /// <returns>true|false</returns> public static Boolean operator ==(GeoTriangle Triangle1, GeoTriangle Triangle2) { // If both are null, or both are same instance, return true. if (Object.ReferenceEquals(Triangle1, Triangle2)) { return(true); } // If one is null, but not both, return false. if (((Object)Triangle1 == null) || ((Object)Triangle2 == null)) { return(false); } return(Triangle1.Equals(Triangle2)); }
static void Main() { Triangle1 t1 = new Triangle1(); t1.Width = 6; t1.Height = 8; Console.WriteLine("밑변은 {0} ", t1.Width); Console.WriteLine("높이는 {0} ", t1.Height); Console.WriteLine("면적은 {0} ", t1.Area); Triangle2 t2 = new Triangle2(); t2.Width = 6; t2.Height = 8; Console.WriteLine("밑변은 {0} ", t2.Width); Console.WriteLine("높이는 {0} ", t2.Height); Console.WriteLine("면적은 {0} ", t2.Area); }
static void Main(string[] args) { Console.InputEncoding = Encoding.Unicode; Console.OutputEncoding = Encoding.Unicode; string InputString = ""; bool ExitBool = true; Triangle Triangle1 = null; while (ExitBool) { Console.Clear(); Console.WriteLine(Triangle1 != null ? string.Format("Сторона А = {0,5:N1}; Сторона B = {1,5:N1}; Сторона C = {2,5:N1}", Triangle1.A, Triangle1.B, Triangle1.C) : "Параметры не заданы"); Console.WriteLine("Введите нужную вам опцию"); Console.WriteLine("1: Задать стороны треугольника."); Console.WriteLine("2: Получить периметр треугольника."); Console.WriteLine("3: Получить площадь треугольника."); Console.WriteLine("4: Выход из программы."); InputString = Console.ReadLine(); switch (InputString) { case "1": { double a; double b; double c; string buf; Console.Clear(); Console.WriteLine("Введите сторону A треугольника: "); for (;;) { buf = Console.ReadLine(); if (!double.TryParse(buf, out a)) { Console.WriteLine("Значение введено не правильно"); } else { if (double.Parse(buf) > 0) { a = double.Parse(buf); break; } else { Console.WriteLine("Сторона должна быть больше нуля"); } } } Console.WriteLine("Введите сторону B треугольника: "); for (;;) { buf = Console.ReadLine(); if (!double.TryParse(buf, out b)) { Console.WriteLine("Значение введено не правильно"); } else { if (double.Parse(buf) > 0) { b = double.Parse(buf); break; } else { Console.WriteLine("Сторона должна быть больше нуля"); } } } Console.WriteLine("Введите сторону C треугольника: "); for (;;) { buf = Console.ReadLine(); if (!double.TryParse(buf, out c)) { Console.WriteLine("Значение введено не правильно"); } else { if (double.Parse(buf) > 0) { c = double.Parse(buf); break; } else { Console.WriteLine("Сторона должна быть больше нуля"); } } } if ((a + b >= c) && (b + c >= a) && (c + a >= b)) { Triangle1 = new Triangle(a, b, c); } else { Console.WriteLine("Сторонны введены неверно (сумма 1 и 2 сторон должна быть больше или равна 3 стороне)"); Console.WriteLine("Для продолжения нажмите любую кнопку..."); Console.ReadKey(); } break; } case "2": { Console.WriteLine(Triangle1 != null ? string.Format("Периметр треугольника = {0,5:N1}", Triangle1.GetPerimeter()) : "Сначала требуется ввести параметры"); Console.WriteLine("Для продолжения нажмите любую кнопку..."); Console.ReadKey(); break; } case "3": { Console.WriteLine(Triangle1 != null ? string.Format("Площадь треугольника = {0,5:N1}", Triangle1.GetArea()) : "Сначала требуется ввести параметры"); Console.WriteLine("Для продолжения нажмите любую кнопку..."); Console.ReadKey(); break; } case "4": { ExitBool = false; break; } } } }