static void Main(string[] args) { Zoo zoo = new Zoo(new List <Animal>()); zoo.AddAnimal(new Chameleon("Ron", 18, Gender.Female, "Ronen", "Red")); zoo.AddAnimal(new Shark("Moshe", 18, Gender.Female, "Meron", SharkType.GreatWhite, false)); zoo.AddAnimal(new Elephant("Shmuel", 18, Gender.Female, "Sagi", 18.5, 2)); zoo.AddAnimal(new Ostrich("Ohad", 18, Gender.Female, "Ohadi", true)); zoo.AddAnimal(new Otter("Ron", 18, Gender.Female, "Ronen", new Rock(54))); List <ISerializableObject> serializableObjects = zoo.GetAnimals().Cast <ISerializableObject>().ToList(); CsvSerializer CsvSerializer = new CsvSerializer(@"C:\Users\Nimrod\Downloads\ex_1_example", serializableObjects); JsonSerializer JsonSerializer = new JsonSerializer(@"C:\Users\Nimrod\Downloads\ex_1_example", serializableObjects); try { JsonSerializer.Serialize(); } catch (IOException e) { Console.WriteLine(e.ToString()); Console.ReadKey(); } }
static void Main(string[] args) { Console.WriteLine("Enter q to quit!"); var zoo = new Zoo(); while (true) { Console.WriteLine(); Console.WriteLine("Enter Animal Type: "); Console.WriteLine("1. Lion"); Console.WriteLine("2. Tiger"); Console.WriteLine("3. Zebra"); Console.Write("Type (number): "); var type = Console.ReadLine(); if (type == "q") { break; } Animal animal = null; switch (type) { case "1": animal = new Lion(); break; case "2": animal = new Tiger(); break; case "3": animal = new Zebra(); break; default: Console.WriteLine("Not a valid animal type!"); break; } if (animal != null) { Console.WriteLine(); Console.WriteLine($"Feed the : {animal.Type()}."); animal.WrongFoodProvided += OnWrongFoodProvided; FeedAnimal(animal); zoo.AddAnimal(animal); } } Console.WriteLine($"Total Expenses for all animals: {zoo.TotalExpenses()}"); var mostExpensive = zoo.MostExpensive(); Console.WriteLine($"Most expensive animal to keep is: {mostExpensive.Type()}"); Console.WriteLine($"It eats: {zoo.CostByAnimal(mostExpensive)}"); }
static void Process(int choose) { zoo = new Zoo(); switch (choose) { case 1: { Console.WriteLine("Add a new cage: "); Console.Write("--- Enter the cage's number: "); string str = Console.ReadLine(); while (!int.TryParse(str, out cageNumber)) { Console.Write("Enter again! "); str = Console.ReadLine(); } MenuAnimal(); cage = new Cage(cageNumber); zoo.AddAnimal(cage); } break; case 2: { Console.WriteLine("Enter the cage's number you want to remove: "); string str = Console.ReadLine(); while (!int.TryParse(str, out cageNumber)) { Console.Write("Enter again! "); str = Console.ReadLine(); } zoo.RemoveCage(cageNumber); } break; case 3: { Console.Write("Choose 'dog'(press 1), 'cat' (press 2) or 'tiger' (press 3) to add: "); str = Console.ReadLine(); int child; while (!int.TryParse(str, out child)) { Console.Write("Enter again! "); str = Console.ReadLine(); } switch (child) { case 1: Console.Write("Enter the name of dog: "); string name = Console.ReadLine(); dog = new Dog(name); cage.AddAnimal(dog); break; case 2: Console.Write("Enter the name of cat: "); name = Console.ReadLine(); cat = new Cat(name); cage.AddAnimal(cat); break; case 3: Console.Write("Enter the name of tiger: "); name = Console.ReadLine(); tiger = new Tiger(name); cage.AddAnimal(tiger); break; default: Console.Write("Enter again! "); str = Console.ReadLine(); break; } } break; case 4: { Console.Write("Enter the name of animal you want to remove: "); string name = Console.ReadLine(); cage.RemoveAnimal(name); } break; case 5: { Console.WriteLine("\nIterate animal in the cage:"); Console.Write("Animal"); cage.IterateAnimals(); } break; case 6: Console.WriteLine("Exit."); Environment.Exit(Environment.ExitCode); break; default: Console.WriteLine("Enter 1, 2, 3, 4 or 5: "); Menu(); break; } Menu(); }