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