Вызов метода объекта для проверки в конструкции 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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д