Exemplo n.º 1
0
        static void Main(string[] args)
        {
            int     yourChoice;
            bool    checkInput = false;
            IAnimal newAnimal;
            int     ageOfAnimal;

            IAnimal[] animalList         = new IAnimal[0];
            IAnimal[] terrestrialAnimals = new IAnimal[0];
            IAnimal[] marineAnimals      = new IAnimal[0];

            while (true)
            {
                Menu();
                do
                {
                    Console.Write("Please select one opition from above: ");
                    checkInput = int.TryParse(Console.ReadLine(), out yourChoice);
                } while (!checkInput || yourChoice <= 0 || yourChoice > 8);

                switch (yourChoice)
                {
                case 1:
                    newAnimal = new Crocodile(inputInformation(out ageOfAnimal), ageOfAnimal);
                    AddAnimalToList(newAnimal, ref animalList);
                    AddAnimalToList(newAnimal, ref terrestrialAnimals);
                    AddAnimalToList(newAnimal, ref marineAnimals);
                    break;

                case 2:
                    newAnimal = new Cat(inputInformation(out ageOfAnimal), ageOfAnimal);
                    AddAnimalToList(newAnimal, ref animalList);
                    AddAnimalToList(newAnimal, ref terrestrialAnimals);
                    break;

                case 3:
                    newAnimal = new Fish(inputInformation(out ageOfAnimal), ageOfAnimal);
                    AddAnimalToList(newAnimal, ref animalList);
                    AddAnimalToList(newAnimal, ref marineAnimals);
                    break;

                case 4:
                    for (int i = 0; i < terrestrialAnimals.Length; i++)
                    {
                        Console.WriteLine(terrestrialAnimals[i].ToString());
                    }
                    break;

                case 5:
                    for (int i = 0; i < marineAnimals.Length; i++)
                    {
                        Console.WriteLine(marineAnimals[i].ToString());
                    }
                    break;

                case 6:
                    for (int i = 0; i < animalList.Length; i++)
                    {
                        Console.WriteLine(animalList[i].ToString());
                    }
                    break;

                case 7:
                    int idToRemove;
                    do
                    {
                        Console.Write("Please enter id of animal you want to remove: ");
                        checkInput = int.TryParse(Console.ReadLine(), out idToRemove);
                    } while (!checkInput || idToRemove <= 0);
                    DeleteAnimal(idToRemove, ref animalList);
                    break;

                case 8:
                    Environment.Exit(0);
                    break;
                }
            }
        }