static void Main(string[] args)
        {
            do
            {
                Console.Clear();
                Dog dog1;
                Cow cow1;

                try { dog1 = new Dog(EnterString("Name of dog = "), EnterInt("Years of your Dog = ", 100), EnterString("Poroda of dog = "), EnterBool("You dog is trained ? - ")); }
                catch (ArgumentOutOfRangeException) { Console.WriteLine("Something wrong with input reenter pls"); dog1 = new Dog(EnterString("Name of dog = "), EnterInt("Years of your Dog = ", 100), EnterString("Poroda of dog = "), EnterBool("You dog is trained ? - ")); }
                try { cow1 = new Cow(EnterString("Name of cow = "), EnterInt("Years of your Cow = ", 100), EnterInt("Count of liters of milk of your Cow = ", 100)); }
                catch (ArgumentOutOfRangeException) { Console.WriteLine("Something wrong with input reenter pls"); cow1 = new Cow(EnterString("Name of cow = "), EnterInt("Years of your Cow = ", 100), EnterInt("Count of liters of milk of your Cow = ", 100)); }



                Console.WriteLine(dog1.AnimalInfo() + " " + dog1.AnimalSound());
                Console.WriteLine(cow1.AnimalInfo() + " " + cow1.AnimalSound());
            } while (Console.ReadKey().Key != ConsoleKey.Escape);
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Random   rand      = new Random();
            Bear     bear1     = new Bear("Миша", 10, "M", TypeOfAnimalNutrition.Carnivorous, DistributionZone.Forest, rand);
            Bear     bear2     = new Bear("Настя", 9, "F", TypeOfAnimalNutrition.Carnivorous, DistributionZone.Forest, rand);
            Elephant elephant1 = new Elephant("Лунтик", 5, "F", TypeOfAnimalNutrition.Herbivorous, DistributionZone.Savannah, rand);
            Elephant elephant2 = new Elephant("Чебурашка", 12, "M", TypeOfAnimalNutrition.Herbivorous, DistributionZone.Savannah, rand);
            Monkey   monkey1   = new Monkey("Фокся", 2, "F", TypeOfAnimalNutrition.Herbivorous, DistributionZone.Jungle, rand);
            Monkey   monkey2   = new Monkey("Света", 6, "F", TypeOfAnimalNutrition.Herbivorous, DistributionZone.Jungle, rand);
            Wolf     wolf1     = new Wolf("Маркиз", 3, "M", TypeOfAnimalNutrition.Carnivorous, DistributionZone.Forest, rand);
            Wolf     wolf2     = new Wolf("Максим", 6, "M", TypeOfAnimalNutrition.Carnivorous, DistributionZone.Forest, rand);
            Cat      cat1      = new Cat("Кот", 2, "M", Products.None, LevelOfProfit.None, rand);
            Cat      cat2      = new Cat("Мурка", 4, "F", Products.None, LevelOfProfit.None, rand);
            Chicken  chicken1  = new Chicken("Маша", 2, "F", Products.Eggs, LevelOfProfit.High, rand);
            Chicken  chicken2  = new Chicken("Даша", 1, "F", Products.Eggs, LevelOfProfit.High, rand);
            Chicken  chicken3  = new Chicken("Наташа", 3, "F", Products.Eggs, LevelOfProfit.Low, rand);
            Cow      cow1      = new Cow("Буренка", 6, "F", Products.Milk, LevelOfProfit.High, rand);
            Cow      cow2      = new Cow("Алеша", 2, "M", Products.None, LevelOfProfit.None, rand);

            Group <IAnimal> allAnimal = new Group <IAnimal>();

            allAnimal.Animals.Add(bear1);
            allAnimal.Animals.Add(bear2);
            allAnimal.Animals.Add(elephant1);
            allAnimal.Animals.Add(elephant2);
            allAnimal.Animals.Add(monkey1);
            allAnimal.Animals.Add(monkey2);
            allAnimal.Animals.Add(wolf1);
            allAnimal.Animals.Add(wolf2);
            allAnimal.Animals.Add(cat1);
            allAnimal.Animals.Add(cat2);
            allAnimal.Animals.Add(chicken1);
            allAnimal.Animals.Add(chicken2);
            allAnimal.Animals.Add(chicken3);
            allAnimal.Animals.Add(cow1);
            allAnimal.Animals.Add(cow2);
            Console.WriteLine("Output all animals:");
            allAnimal.OutputAllAnimals();

            Console.WriteLine("\nOutput only male animals:");
            var result0 = from animal in allAnimal.Animals
                          where animal.Sex == "M"
                          select animal;

            foreach (IAnimal animal in result0)
            {
                Console.WriteLine($"{animal.ToString().Remove(0, 7)}  {animal.Name}  {animal.Age}  {animal.Sex} {animal.CurrentOccupation}");
            }

            Group <WildAnimal> wildAnimals = new Group <WildAnimal>();

            wildAnimals.Animals.Add(bear1);
            wildAnimals.Animals.Add(bear2);
            wildAnimals.Animals.Add(elephant1);
            wildAnimals.Animals.Add(elephant2);
            wildAnimals.Animals.Add(monkey1);
            wildAnimals.Animals.Add(monkey2);
            wildAnimals.Animals.Add(wolf1);
            wildAnimals.Animals.Add(wolf2);
            Console.WriteLine("\nOutput all wild animals:");
            foreach (WildAnimal animal in wildAnimals.Animals)
            {
                Console.WriteLine($"{animal.ToString().Remove(0, 7)}  {animal.Name}  {animal.Age}  {animal.Sex} {animal.CurrentOccupation} {animal.DistributionZone} {animal.TypeOfAnimalNutrition}");
            }

            Console.WriteLine("\nOutput forest wild animals ordered by age:");
            var result1 = from animal in wildAnimals.Animals
                          where animal.DistributionZone == DistributionZone.Forest
                          orderby animal.Age
                          select animal;

            foreach (WildAnimal animal in result1)
            {
                Console.WriteLine($"{animal.ToString().Remove(0, 7)}  {animal.Name}  {animal.Age}  {animal.Sex} {animal.CurrentOccupation} {animal.DistributionZone} {animal.TypeOfAnimalNutrition}");
            }

            Console.WriteLine("\nOutput wild carnivorous animals ordered by decreasing age:");
            var result2 = from animal in wildAnimals.Animals
                          where animal.TypeOfAnimalNutrition == TypeOfAnimalNutrition.Carnivorous
                          orderby animal.Age descending
                          select animal;

            foreach (WildAnimal animal in result2)
            {
                Console.WriteLine($"{animal.ToString().Remove(0, 7)}  {animal.Name}  {animal.Age}  {animal.Sex} {animal.CurrentOccupation} {animal.DistributionZone} {animal.TypeOfAnimalNutrition}");
            }

            Group <HomeAnimal> homeAnimals = new Group <HomeAnimal>();

            homeAnimals.Animals.Add(cat1);
            homeAnimals.Animals.Add(cat2);
            homeAnimals.Animals.Add(chicken1);
            homeAnimals.Animals.Add(chicken2);
            homeAnimals.Animals.Add(chicken3);
            homeAnimals.Animals.Add(cow1);
            homeAnimals.Animals.Add(cow2);
            Console.WriteLine("\nOutput all home animals:");
            foreach (HomeAnimal animal in homeAnimals.Animals)
            {
                Console.WriteLine($"{animal.ToString().Remove(0, 7)}  {animal.Name}  {animal.Age}  {animal.Sex} {animal.CurrentOccupation} {animal.Products} {animal.Profit}");
            }

            Console.WriteLine("\nOutput home animals that produce nothing:");
            var result3 = from animal in homeAnimals.Animals
                          where animal.Profit == LevelOfProfit.None
                          select animal;

            foreach (HomeAnimal animal in result3)
            {
                Console.WriteLine($"{animal.ToString().Remove(0, 7)}  {animal.Name}  {animal.Age}  {animal.Sex} {animal.CurrentOccupation} {animal.Products} {animal.Profit}");
            }

            Console.WriteLine("\nOutput chicken with high profit:");
            var result4 = from animal in homeAnimals.Animals
                          where animal.Products == Products.Eggs && animal.Profit == LevelOfProfit.High
                          select animal;

            foreach (HomeAnimal animal in result4)
            {
                Console.WriteLine($"{animal.ToString().Remove(0, 7)}  {animal.Name}  {animal.Age}  {animal.Sex} {animal.CurrentOccupation} {animal.Products} {animal.Profit}");
            }

            Console.ReadKey();
        }