Exemplo n.º 1
0
        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());
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Compares two instances of this object.
        /// </summary>
        /// <param name="Triangle1">A Triangle&lt;T&gt;.</param>
        /// <param name="Triangle2">Another Triangle&lt;T&gt;.</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));
        }
Exemplo n.º 3
0
        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;
                }
                }
            }
        }