static void Calculation(Figures figures) { double sum = 0; foreach (Figure s in figures.Item) { sum += s.Area(); } AverageArea = sum / figures.Item.Count; }
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()); } }
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("Введите корректные данные"); }