Вызов метода объекта для проверки в конструкции switch-case - C#

Узнай цену своей работы

Формулировка задачи:

Ребят, каким образом создать объект и метод для него, чтобы в кейсах просто метод вызывать, а то с точки зрения ООП неверное получается...
switch (choose)
{
case "Lion": Animal Lion = new Animal();
Console.WriteLine("Введите оценку здоровья");
Lion.Health = Int32.Parse(Console.ReadLine());
Console.WriteLine("Введите оценку чистоты");
Lion.Clean = Int32.Parse(Console.ReadLine());
Console.WriteLine("Введите оценку сытости");
Lion.Training = Int32.Parse(Console.ReadLine());
Console.WriteLine(Lion.Itogi());
Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
AnimalSostoyanie();
break;
case "Tiger": Animal Tiger = new Animal();
Console.WriteLine("Введите оценку здоровья");
Tiger.Health = Int32.Parse(Console.ReadLine());
Console.WriteLine("Введите оценку чистоты");
Tiger.Clean = Int32.Parse(Console.ReadLine());
Console.WriteLine("Введите оценку сытости");
Tiger.Training = Int32.Parse(Console.ReadLine());
Console.WriteLine(Tiger.Itogi());
Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
AnimalSostoyanie();
break;
case "Giraffie": Animal Giraffie = new Animal();
Console.WriteLine("Введите оценку здоровья");
Giraffie.Health = Int32.Parse(Console.ReadLine());
Console.WriteLine("Введите оценку чистоты");
Giraffie.Clean = Int32.Parse(Console.ReadLine());
Console.WriteLine("Введите оценку сытости");
Giraffie.Training = Int32.Parse(Console.ReadLine());
Console.WriteLine(Giraffie.Itogi());
Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
AnimalSostoyanie();
break;
case "exit":
break;
}
}
Весь код:
using System;
namespace event
{

    public delegate void AnimalStatusMethod();
    class Animal
    {
        public int clean { get; set; }
        public int health { get; set; }
        public int training { get; set; }

        public int Clean
        {
            set 
            {   if (clean < 1)
                throw new ArgumentOutOfRangeException("Недопустимый ввод");
            clean = value;
            if (clean > 10)
                throw new ArgumentOutOfRangeException("Недопустимый ввод");
            clean = value;
            if (clean < 7)
                Console.WriteLine("Животное нужно помыть");
            else Console.WriteLine("Животное находится в хорошем чистом состоянии");    
            
                clean = value;
            
            }
            get
            {
                return clean;
            }
        }
 
        public int Health
        {
            set
            {
                if ((health < 1) || (health > 5))
                
                    throw new ArgumentOutOfRangeException("Значение должно быть по пятибальной системе");
                health = value;
                
                if ((health < 4) && (health > 0))
                {
                    Console.WriteLine("Животное нужно вылечить");
                    health = value;
                }
                health = value;
            }
            get
            {
                return health;
            }
        }
 
        public int Training
        {
            set
            {
                if ((value < 1) || (value > 5))
                
                    throw new ArgumentOutOfRangeException("Значение должно быть по пятибальной системе");
                    training = value;
                
                if ((value < 4) && (value > 0))
                {
                    Console.WriteLine("Животное нужно покормить, оно выглядит агрессивным");
                    training = value;
                }
                training = value;
            }
            get
            {
                return training;
            }
        }

        public string Itogi()
        {
            if ((clean == 5) && (training == 5) && (health == 5))
                return "Посетители в восторге";
            else
            {
                if ((clean < 3) && (training < 3) && (health < 3))
                {
                    return "Животное в ужасном состоянии, скоро вы потеряете поситителей \n";
                }
                return "Посетители удовлетворены, но нужно стремится к лучшему";
            }
        }

    }

    class AnimalStatus : Animal
    {
        public static void AnimalSostoyanie()
        {
            Animal Lion = new Animal();
            Animal Tiger = new Animal();
            Animal Giraffie = new Animal();
 
            Console.WriteLine("Из зоопарка XXXXX были выбраны 4 вида животных для показа"
                   + "\n различных трюков на международном фестивале YYYYY-2015 ");
            Console.WriteLine("Инспекция выбрала 4 вида животных: Tiger, Elephant, Lion, Giraffie");
            Console.WriteLine();
 
            Console.WriteLine("Выберите одно из животных для оценки: ");
            string choose = (Console.ReadLine());
 
            switch (choose)
            {
                case "Lion": 
                    Console.WriteLine("Введите оценку здоровья");
                    Lion.Health = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Введите оценку чистоты");
                    Lion.Clean = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Введите оценку сытости");
                    Lion.Training = Int32.Parse(Console.ReadLine());
                    Console.WriteLine(Lion.Itogi());
                    Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
                    AnimalSostoyanie();
                    break;
                case "Tiger":
                    Console.WriteLine("Введите оценку здоровья");
                    Tiger.Health = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Введите оценку чистоты");
                    Tiger.Clean = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Введите оценку сытости");
                    Tiger.Training = Int32.Parse(Console.ReadLine());
                    Console.WriteLine(Tiger.Itogi());
                    Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
                    AnimalSostoyanie();
                    break;
                case "Giraffie": 
                    Console.WriteLine("Введите оценку здоровья");
                    Giraffie.Health = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Введите оценку чистоты");
                    Giraffie.Clean = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Введите оценку сытости");
                    Giraffie.Training = Int32.Parse(Console.ReadLine());
                    Console.WriteLine(Giraffie.Itogi());
                    Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
                    AnimalSostoyanie();
                    break;
                case "exit":
                    break;
            }
        }
 
        public static void Posetiteli()
        {
            int p;
            Console.WriteLine("Какое количество посетителей в данный момент " + DateTime.Now.ToString());
            p = Int32.Parse(Console.ReadLine());
            if (p > 100)
            {
                Console.WriteLine("Отличный результат");
            }
            else
            {
                Console.WriteLine("Вам нужно улучшать результат");
            }
            Console.WriteLine("Прибыль равна " + p * 5 + "$");
        }
    }

    public class ZooEvent
    {
        public event AnimalStatusMethod activate;
        public void ActivateEvent()
        {
            if (activate != null) activate();
        }
    }
    class Program
    {
 
        public static void Main()
        {
            ZooEvent zooEvent = new ZooEvent();
            zooEvent.activate += new AnimalStatusMethod(AnimalStatus.Posetiteli);
            zooEvent.activate += new AnimalStatusMethod(AnimalStatus.AnimalSostoyanie);

            zooEvent.ActivateEvent();

        }
    }
}

Решение задачи: «Вызов метода объекта для проверки в конструкции switch-case»

textual
Листинг программы
 public static void AnimalSostoyanie()
        {
            Animal Lion = new Animal();
            Animal Tiger = new Animal();
            Animal Giraffie = new Animal();
 
            Console.WriteLine("Из зоопарка XXXXX были выбраны 4 вида животных для показа"
                   + "\n различных трюков на международном фестивале YYYYY-2015 ");
            Console.WriteLine("Инспекция выбрала 4 вида животных: Tiger, Elephant, Lion, Giraffie");
            Console.WriteLine();
 
            Console.WriteLine("Выберите одно из животных для оценки: ");
            string choose = (Console.ReadLine());
 
            switch (choose)
            {
                case "Lion": 
                    Console.WriteLine("Введите оценку здоровья");
                    Lion.Health = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Введите оценку чистоты");
                    Lion.Clean = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Введите оценку сытости");
                    Lion.Training = Int32.Parse(Console.ReadLine());
                    Console.WriteLine(Lion.Itogi());
                    Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
                    AnimalSostoyanie();
                    break;
                case "Tiger":
                    Console.WriteLine("Введите оценку здоровья");
                    Tiger.Health = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Введите оценку чистоты");
                    Tiger.Clean = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Введите оценку сытости");
                    Tiger.Training = Int32.Parse(Console.ReadLine());
                    Console.WriteLine(Tiger.Itogi());
                    Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
                    AnimalSostoyanie();
                    break;
                case "Giraffie": 
                    Console.WriteLine("Введите оценку здоровья");
                    Giraffie.Health = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Введите оценку чистоты");
                    Giraffie.Clean = Int32.Parse(Console.ReadLine());
                    Console.WriteLine("Введите оценку сытости");
                    Giraffie.Training = Int32.Parse(Console.ReadLine());
                    Console.WriteLine(Giraffie.Itogi());
                    Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
                    AnimalSostoyanie();
                    break;
                case "exit":
                    break;
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы