예제 #1
0
        static void Calculation(Figures figures)
        {
            double sum = 0;

            foreach (Figure s in figures.Item)
            {
                sum += s.Area();
            }
            AverageArea = sum / figures.Item.Count;
        }
예제 #2
0
                static void Xml_file(Figures figures)
                {
                    var serializer = new XmlSerializer(typeof(List <Figure>));

                    using (FileStream fs = new FileStream(@"D://data.xml", FileMode.OpenOrCreate))
                    {
                        serializer.Serialize(fs, figures.Item);
                    }
                    using (FileStream fs = new FileStream(@"D://data.xml", FileMode.Open))
                    {
                        using var sr = new StreamReader(fs);
                        Console.WriteLine(sr.ReadToEnd());
                    }
                }
예제 #3
0
        static void Main()
        {
            string  a;
            Figures figures = new Figures();

            while (true)
            {
                Console.WriteLine("Введите данные с экрана:");
                Console.WriteLine("1-Создать фигуру круг.");
                Console.WriteLine("2-Создать фигуру квадрат.");
                Console.WriteLine("3-Создать фигуру прямоугольник.");
                Console.WriteLine("4-Создать фигуру эллипс.");
                Console.WriteLine("5-Exit");
                a = Console.ReadLine();
                if (a == "1")
                {
                    Circle circle1 = new Circle();
                    circle1.CreateCircle();
                    figures.Item.Add(circle1);
                    Calculation(figures);
                    Console.WriteLine("Средняя площадь:{0}", AverageArea);
                }
                if (a == "2")
                {
                    Square square1 = new Square();
                    square1.CreateSquare();
                    figures.Item.Add(square1);
                    Calculation(figures);
                    Console.WriteLine("Средняя площадь:{0}", AverageArea);
                }
                if (a == "3")
                {
                    Rectangle rectangle1 = new Rectangle();
                    rectangle1.CreateRectangle();
                    figures.Item.Add(rectangle1);
                    Calculation(figures);
                    Console.WriteLine("Средняя площадь:{0}", AverageArea);
                }
                if (a == "4")
                {
                    Ellipse ellipse1 = new Ellipse();
                    ellipse1.CreateEllipse();
                    figures.Item.Add(ellipse1);
                    Calculation(figures);
                    Console.WriteLine("Средняя площадь:{0}", AverageArea);
                }
                if (a == "5")
                {
                    if (figures.Item.Count >= 5)
                    {
                        SquareComparer sc = new SquareComparer();
                        figures.Item.Sort(sc);
                        for (int i = 0; i < figures.Item.Count; i++)
                        {
                            Console.WriteLine("Type:{0},Area:{1},Thickness:{2}", figures.Item[i].Type(), figures.Item[i].Area(), figures.Item[i].thickness);
                        }
                        Console.ReadKey();
                        Console.Clear();
                        for (int i = 0; i < 3; i++)
                        {
                            Console.WriteLine("Type:{0}", figures.Item[i].Type());
                        }
                        Console.ReadKey();
                        Console.Clear();
                        ToConsole(figures.Item[figures.Item.Count - 2]);
                        ToConsole(figures.Item[figures.Item.Count - 1]);
                        Xml_file(figures);
                        break;
                    }
                    else
                    {
                        Console.WriteLine("Создайте 5 фигур или больше");
                    }
                }
                else
                {
                    Console.WriteLine("Введите корректные данные");
                }