public static void SortByYear(Zoo zoo) { Animal temp; for (int i = 0; i < zoo.List.Count; i++) { for (int j = i + 1; j < zoo.List.Count; j++) { if (zoo.List[i].dateOfBirth > zoo.List[j].dateOfBirth) { temp = zoo.List[i]; zoo.List[i] = zoo.List[j]; zoo.List[j] = temp; } } } Console.WriteLine("Отсортированный по дате рождения зоопарк: "); zoo.ShowZoo(); }
private static void Main(string[] args) { Animal crocodile1 = new Crocodile("crocodile", 2026); Console.WriteLine(crocodile1); crocodile1.Move(); Lion lion1 = new Lion("lion", 2010); Lion lion2 = new Lion("lion", 2017); Console.WriteLine(lion1); lion1.Move(); Tiger tiger1 = new Tiger("tiger", 2001); Console.WriteLine(tiger1); tiger1.Move(); Shark shark1 = new Shark("shark", 2014); Console.WriteLine(shark1); shark1.Move(); ((IVitalActivity)shark1).Eat(); shark1.VitalActivity(); ((IVitalActivity)shark1).VitalActivity(); Owl owl1 = new Owl("owl", 2003); owl1.Move(); Console.WriteLine(owl1); Parrot parrot1 = new Parrot("parrot", 2020); parrot1.Move(); Console.WriteLine(parrot1); Console.WriteLine("-----------------Массив-----------------"); Printer a = new Printer(); Animal[] animals = new Animal[6] { crocodile1, lion1, tiger1, shark1, owl1, parrot1 }; for (int i = 0; i < animals.Length; i++) { a.iAmPrinting(animals[i]); } Zoo zoo = new Zoo(); zoo.AddToZoo(crocodile1); zoo.AddToZoo(lion1); zoo.AddToZoo(lion2); zoo.AddToZoo(tiger1); zoo.AddToZoo(shark1); zoo.AddToZoo(owl1); zoo.AddToZoo(parrot1); zoo.ShowZoo(); Controller.AverageWeight(zoo, "lion"); Console.WriteLine("Количество хищных птиц в зоопарке: {0} ", Controller.PredatoryBirds(zoo)); Controller.SortByYear(zoo); Console.WriteLine("Из файла________________"); Zoo zoo1 = new Zoo(); Controller.FillFromFile(zoo1); zoo1.ShowZoo(); }
private static void Main(string[] args) { Logger.ConsoleLogger ConsLog = new Logger.ConsoleLogger(); Logger.FileLogger FileLog = new Logger.FileLogger(); if (FileLog.OpenLogFile()) { FileLog.GetLog("Создан файл протокола", Logger.RecordTypes.Information); } Animal crocodile1 = new Crocodile("crocodile", 2026); Console.WriteLine(crocodile1); crocodile1.Move(); Lion lion1 = new Lion("lion", 2010); Console.WriteLine(lion1); lion1.Move(); Tiger tiger1 = new Tiger("tiger", 2001); Console.WriteLine(tiger1); tiger1.Move(); Shark shark1 = new Shark("shark", 2014); Console.WriteLine(shark1); shark1.Move(); ((IVitalActivity)shark1).Eat(); shark1.VitalActivity(); ((IVitalActivity)shark1).VitalActivity(); Owl owl1 = new Owl("owl", 2003); owl1.Move(); Console.WriteLine(owl1); Parrot parrot1 = new Parrot("parrot", 2020); parrot1.Move(); Console.WriteLine(parrot1); Console.WriteLine("-----------------Массив-----------------"); Printer a = new Printer(); Animal[] animals = new Animal[6] { crocodile1, lion1, tiger1, shark1, owl1, parrot1 }; for (int i = 0; i < animals.Length; i++) { a.iAmPrinting(animals[i]); } Zoo zoo = new Zoo(); zoo.AddToZoo(crocodile1); zoo.AddToZoo(lion1); zoo.AddToZoo(tiger1); zoo.AddToZoo(shark1); zoo.AddToZoo(owl1); zoo.AddToZoo(parrot1); zoo.ShowZoo(); Controller.AverageWeight(zoo, "lion"); Console.WriteLine("Количество хищных птиц в зоопарке: {0} ", Controller.PredatoryBirds(zoo)); Controller.SortByYear(zoo); //Owl owl2 = new Owl("owl", 2003, -3); //Assert //специальная конструкция, позволяющая проверять предположения о значениях произвольных данных в произвольном месте программы. //Эта конструкция может автоматически сигнализировать при обнаружении некорректных данных, что обычно приводит к //аварийному завершению программы с указанием места обнаружения некорректных данных. try { ConsLog.GetLog("Из файла-------------------------------------------", Logger.RecordTypes.Message); Zoo zoo1 = new Zoo(); Controller.FillFromFile(zoo1); zoo1.ShowZoo(); Lion lion2 = new Lion("lion", 2017, -7); } catch (WrongWeightException e) { ConsLog.GetLog(e); FileLog.GetLog(e); ConsLog.GetLog("-----------------------------WrongWeightException: ", Logger.RecordTypes.Exception); Console.WriteLine(e); } try { FileStream newFile = new FileStream("aaa.txt", FileMode.Open); } catch (IOException) { ConsLog.GetLog("-----------------------------IOException: Не удалось открыть файл", Logger.RecordTypes.Exception); FileLog.GetLog("IOException: Не удалось открыть файл", Logger.RecordTypes.Exception); } try { Zoo zoo1 = new Zoo(); Controller.AverageWeight(zoo); } catch (ZeroException e) { ConsLog.GetLog(e); FileLog.GetLog(e); // throw; снова будет исключение, уже необработанное } try { throw new FileExistsException(); } catch (FileExistsException e) { ConsLog.GetLog(e); FileLog.GetLog(e); ConsLog.GetLog("Информация", Logger.RecordTypes.Information); FileLog.GetLog("Сообщение....", Logger.RecordTypes.Message); Console.WriteLine(e); } try { ConsLog.GetLog("Вызов неопознанного исключения", Logger.RecordTypes.Message); FileLog.GetLog("Вызов неопознанного исключения", Logger.RecordTypes.Message); Byte bbb = 99; bbb = checked ((byte)(bbb + 9999999)); throw new Exception(); } catch (Exception e) when(e.GetType() != typeof(System.OverflowException)) { ConsLog.GetLog("Вызван общий обработчик исключений (кроме OverflowException)", Logger.RecordTypes.Exception); FileLog.GetLog("Вызван общий обработчик исключений(кроме OverflowException)", Logger.RecordTypes.Exception); } catch { ConsLog.GetLog("Вызван универсальный обработчик исключений", Logger.RecordTypes.Exception); FileLog.GetLog("Вызван универсальный обработчик исключений", Logger.RecordTypes.Exception); } finally { Console.WriteLine("_____________________________________________"); Console.WriteLine("КОНЕЦ"); Console.WriteLine("Finally выполняется всегда, кроме StackOverFlowException, System.Exit(0)"); FileLog.GetLog("Файл протокола закрывается...", Logger.RecordTypes.Information); FileLog.CloseLogFile(); } }