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

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

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

Ребят, каким образом создать объект и метод для него, чтобы в кейсах просто метод вызывать, а то с точки зрения ООП неверное получается...
Листинг программы
  1. switch (choose)
  2. {
  3. case "Lion": Animal Lion = new Animal();
  4. Console.WriteLine("Введите оценку здоровья");
  5. Lion.Health = Int32.Parse(Console.ReadLine());
  6. Console.WriteLine("Введите оценку чистоты");
  7. Lion.Clean = Int32.Parse(Console.ReadLine());
  8. Console.WriteLine("Введите оценку сытости");
  9. Lion.Training = Int32.Parse(Console.ReadLine());
  10. Console.WriteLine(Lion.Itogi());
  11. Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
  12. AnimalSostoyanie();
  13. break;
  14. case "Tiger": Animal Tiger = new Animal();
  15. Console.WriteLine("Введите оценку здоровья");
  16. Tiger.Health = Int32.Parse(Console.ReadLine());
  17. Console.WriteLine("Введите оценку чистоты");
  18. Tiger.Clean = Int32.Parse(Console.ReadLine());
  19. Console.WriteLine("Введите оценку сытости");
  20. Tiger.Training = Int32.Parse(Console.ReadLine());
  21. Console.WriteLine(Tiger.Itogi());
  22. Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
  23. AnimalSostoyanie();
  24. break;
  25. case "Giraffie": Animal Giraffie = new Animal();
  26. Console.WriteLine("Введите оценку здоровья");
  27. Giraffie.Health = Int32.Parse(Console.ReadLine());
  28. Console.WriteLine("Введите оценку чистоты");
  29. Giraffie.Clean = Int32.Parse(Console.ReadLine());
  30. Console.WriteLine("Введите оценку сытости");
  31. Giraffie.Training = Int32.Parse(Console.ReadLine());
  32. Console.WriteLine(Giraffie.Itogi());
  33. Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
  34. AnimalSostoyanie();
  35. break;
  36. case "exit":
  37. break;
  38. }
  39. }
Весь код:
Листинг программы
  1. using System;
  2. namespace event
  3. {
  4.  
  5. public delegate void AnimalStatusMethod();
  6. class Animal
  7. {
  8. public int clean { get; set; }
  9. public int health { get; set; }
  10. public int training { get; set; }
  11.  
  12. public int Clean
  13. {
  14. set
  15. { if (clean < 1)
  16. throw new ArgumentOutOfRangeException("Недопустимый ввод");
  17. clean = value;
  18. if (clean > 10)
  19. throw new ArgumentOutOfRangeException("Недопустимый ввод");
  20. clean = value;
  21. if (clean < 7)
  22. Console.WriteLine("Животное нужно помыть");
  23. else Console.WriteLine("Животное находится в хорошем чистом состоянии");
  24. clean = value;
  25. }
  26. get
  27. {
  28. return clean;
  29. }
  30. }
  31. public int Health
  32. {
  33. set
  34. {
  35. if ((health < 1) || (health > 5))
  36. throw new ArgumentOutOfRangeException("Значение должно быть по пятибальной системе");
  37. health = value;
  38. if ((health < 4) && (health > 0))
  39. {
  40. Console.WriteLine("Животное нужно вылечить");
  41. health = value;
  42. }
  43. health = value;
  44. }
  45. get
  46. {
  47. return health;
  48. }
  49. }
  50. public int Training
  51. {
  52. set
  53. {
  54. if ((value < 1) || (value > 5))
  55. throw new ArgumentOutOfRangeException("Значение должно быть по пятибальной системе");
  56. training = value;
  57. if ((value < 4) && (value > 0))
  58. {
  59. Console.WriteLine("Животное нужно покормить, оно выглядит агрессивным");
  60. training = value;
  61. }
  62. training = value;
  63. }
  64. get
  65. {
  66. return training;
  67. }
  68. }
  69.  
  70. public string Itogi()
  71. {
  72. if ((clean == 5) && (training == 5) && (health == 5))
  73. return "Посетители в восторге";
  74. else
  75. {
  76. if ((clean < 3) && (training < 3) && (health < 3))
  77. {
  78. return "Животное в ужасном состоянии, скоро вы потеряете поситителей \n";
  79. }
  80. return "Посетители удовлетворены, но нужно стремится к лучшему";
  81. }
  82. }
  83.  
  84. }
  85.  
  86. class AnimalStatus : Animal
  87. {
  88. public static void AnimalSostoyanie()
  89. {
  90. Animal Lion = new Animal();
  91. Animal Tiger = new Animal();
  92. Animal Giraffie = new Animal();
  93. Console.WriteLine("Из зоопарка XXXXX были выбраны 4 вида животных для показа"
  94. + "\n различных трюков на международном фестивале YYYYY-2015 ");
  95. Console.WriteLine("Инспекция выбрала 4 вида животных: Tiger, Elephant, Lion, Giraffie");
  96. Console.WriteLine();
  97. Console.WriteLine("Выберите одно из животных для оценки: ");
  98. string choose = (Console.ReadLine());
  99. switch (choose)
  100. {
  101. case "Lion":
  102. Console.WriteLine("Введите оценку здоровья");
  103. Lion.Health = Int32.Parse(Console.ReadLine());
  104. Console.WriteLine("Введите оценку чистоты");
  105. Lion.Clean = Int32.Parse(Console.ReadLine());
  106. Console.WriteLine("Введите оценку сытости");
  107. Lion.Training = Int32.Parse(Console.ReadLine());
  108. Console.WriteLine(Lion.Itogi());
  109. Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
  110. AnimalSostoyanie();
  111. break;
  112. case "Tiger":
  113. Console.WriteLine("Введите оценку здоровья");
  114. Tiger.Health = Int32.Parse(Console.ReadLine());
  115. Console.WriteLine("Введите оценку чистоты");
  116. Tiger.Clean = Int32.Parse(Console.ReadLine());
  117. Console.WriteLine("Введите оценку сытости");
  118. Tiger.Training = Int32.Parse(Console.ReadLine());
  119. Console.WriteLine(Tiger.Itogi());
  120. Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
  121. AnimalSostoyanie();
  122. break;
  123. case "Giraffie":
  124. Console.WriteLine("Введите оценку здоровья");
  125. Giraffie.Health = Int32.Parse(Console.ReadLine());
  126. Console.WriteLine("Введите оценку чистоты");
  127. Giraffie.Clean = Int32.Parse(Console.ReadLine());
  128. Console.WriteLine("Введите оценку сытости");
  129. Giraffie.Training = Int32.Parse(Console.ReadLine());
  130. Console.WriteLine(Giraffie.Itogi());
  131. Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
  132. AnimalSostoyanie();
  133. break;
  134. case "exit":
  135. break;
  136. }
  137. }
  138. public static void Posetiteli()
  139. {
  140. int p;
  141. Console.WriteLine("Какое количество посетителей в данный момент " + DateTime.Now.ToString());
  142. p = Int32.Parse(Console.ReadLine());
  143. if (p > 100)
  144. {
  145. Console.WriteLine("Отличный результат");
  146. }
  147. else
  148. {
  149. Console.WriteLine("Вам нужно улучшать результат");
  150. }
  151. Console.WriteLine("Прибыль равна " + p * 5 + "$");
  152. }
  153. }
  154.  
  155. public class ZooEvent
  156. {
  157. public event AnimalStatusMethod activate;
  158. public void ActivateEvent()
  159. {
  160. if (activate != null) activate();
  161. }
  162. }
  163. class Program
  164. {
  165. public static void Main()
  166. {
  167. ZooEvent zooEvent = new ZooEvent();
  168. zooEvent.activate += new AnimalStatusMethod(AnimalStatus.Posetiteli);
  169. zooEvent.activate += new AnimalStatusMethod(AnimalStatus.AnimalSostoyanie);
  170.  
  171. zooEvent.ActivateEvent();
  172.  
  173. }
  174. }
  175. }

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

textual
Листинг программы
  1.  public static void AnimalSostoyanie()
  2.         {
  3.             Animal Lion = new Animal();
  4.             Animal Tiger = new Animal();
  5.             Animal Giraffie = new Animal();
  6.  
  7.             Console.WriteLine("Из зоопарка XXXXX были выбраны 4 вида животных для показа"
  8.                    + "\n различных трюков на международном фестивале YYYYY-2015 ");
  9.             Console.WriteLine("Инспекция выбрала 4 вида животных: Tiger, Elephant, Lion, Giraffie");
  10.             Console.WriteLine();
  11.  
  12.             Console.WriteLine("Выберите одно из животных для оценки: ");
  13.             string choose = (Console.ReadLine());
  14.  
  15.             switch (choose)
  16.             {
  17.                 case "Lion":
  18.                     Console.WriteLine("Введите оценку здоровья");
  19.                     Lion.Health = Int32.Parse(Console.ReadLine());
  20.                     Console.WriteLine("Введите оценку чистоты");
  21.                     Lion.Clean = Int32.Parse(Console.ReadLine());
  22.                     Console.WriteLine("Введите оценку сытости");
  23.                     Lion.Training = Int32.Parse(Console.ReadLine());
  24.                     Console.WriteLine(Lion.Itogi());
  25.                     Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
  26.                     AnimalSostoyanie();
  27.                     break;
  28.                 case "Tiger":
  29.                     Console.WriteLine("Введите оценку здоровья");
  30.                     Tiger.Health = Int32.Parse(Console.ReadLine());
  31.                     Console.WriteLine("Введите оценку чистоты");
  32.                     Tiger.Clean = Int32.Parse(Console.ReadLine());
  33.                     Console.WriteLine("Введите оценку сытости");
  34.                     Tiger.Training = Int32.Parse(Console.ReadLine());
  35.                     Console.WriteLine(Tiger.Itogi());
  36.                     Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
  37.                     AnimalSostoyanie();
  38.                     break;
  39.                 case "Giraffie":
  40.                     Console.WriteLine("Введите оценку здоровья");
  41.                     Giraffie.Health = Int32.Parse(Console.ReadLine());
  42.                     Console.WriteLine("Введите оценку чистоты");
  43.                     Giraffie.Clean = Int32.Parse(Console.ReadLine());
  44.                     Console.WriteLine("Введите оценку сытости");
  45.                     Giraffie.Training = Int32.Parse(Console.ReadLine());
  46.                     Console.WriteLine(Giraffie.Itogi());
  47.                     Console.WriteLine("\nОцените следующее животное или введите 4 для выхода\n");
  48.                     AnimalSostoyanie();
  49.                     break;
  50.                 case "exit":
  51.                     break;
  52.             }
  53.         }

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


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

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

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы