Повторение или продолжение работы программы (Цикл или нет)? - C#

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

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

Ребят, прошу прощения за Заголовок темы. Я абсолютный новичек и даже не знаю, как назвать заголовок. По Ютубу пытаюсь изучать C# и программирование в целом. Прошел условия, циклы и переменные, и вот сразу решил создать первый маленький проект. Код будет под текстом. Проект заключается в том, что просит ввести возраст и рост, после чего сообщает мне в текстовом виде все мною введенное. У меня начинается проверка if на предмет Возраста и Роста. Т.е. если Возраст превышает 121 год, то программа спрашивает "Вы - мумия?", затем закрывается. Если же Возраст не превышает 121 год, то требуется ввести Рост и начинается проверка if Роста. Если Рост свыше 230, то возникает вопрос "Вы - столб?" и программа закрывается, если менее 231, то программа начинает проверку цифр, что бы по-русски грамотно сделать вывод и, НАКОНЕЦ, выводит результат. А я хочу сделать так, что, если все таки Возраст или Рост за пределами допустимого значения, то программа выдавала бы повтор на введение корректных данных (Возраста или Роса) и продолжала работу, а не закрывалась. Я пытался сделать это с помощью цикла while, но что-то у меня все криво получалось и не получилось реализовать. Прошу Вас, помогите, подскажите))) Спасибо!)) Вот он рабочий код:
Листинг программы
  1. static void Main(string[] args)
  2. {
  3. //Объявляем переменные
  4. int age; //Возраст в цифрах
  5. int height; //Рост в цифрах
  6. string let; //слова "Год, Года, Лет"
  7. string rost; //слова "Сантиметр, Сантиметра, Сантиметров"
  8. string mumi = "Вы - мумия?"; //Просто ввел переменную, что бы не вводить слова в коде
  9. string stolb = "Вы - столб?"; //Просто ввел переменную, что бы не вводить слова в коде
  10. //Первый вопрос для введния цифры в переменную age
  11. Console.Write("Введите свой возраст и нажмите Enter: ");
  12. age = Convert.ToInt32(Console.ReadLine()); //Ввод цифры в переменную age
  13. if (age > 121) //Проверка. Если возраст превышает 121 год, значит человек уже мумия
  14. {
  15. Console.WriteLine(mumi);
  16. }
  17. else //если человеку менее 122 лет, то идет запрос на введение цифры в переменную height
  18. {
  19. //Второй вопрос для введения цифры в переменную height
  20. Console.Write("Введите свой рост и нажмите Enter:");
  21. height = Convert.ToInt32(Console.ReadLine());
  22. if (height > 230) //Проверка. Если рос превышает 230 год, значит человек уже столб
  23. {
  24. Console.WriteLine(stolb);
  25. }
  26. else //если человек ниже 231 сантиметра, то, перед выводом результата, идет проверка, какие именно цифры ввел человек, что бы вывод был по-русски грамотным
  27. {
  28. //Проверка возраста. Если возраст заканчивается на 1, то выводим слово "Год", если на 2/3/4, то выводим солово "Года", в остальных случаях выводим слово "Лет"
  29. switch (age)
  30. {
  31. case 1:
  32. case 21:
  33. case 31:
  34. case 41:
  35. case 51:
  36. case 61:
  37. case 71:
  38. case 81:
  39. case 91:
  40. case 101:
  41. case 121:
  42. let = "год";
  43. break;
  44. case 2:
  45. case 3:
  46. case 22:
  47. case 32:
  48. case 42:
  49. case 52:
  50. case 62:
  51. case 72:
  52. case 82:
  53. case 92:
  54. case 102:
  55. case 23:
  56. case 33:
  57. case 43:
  58. case 53:
  59. case 63:
  60. case 73:
  61. case 83:
  62. case 93:
  63. case 103:
  64. case 24:
  65. case 34:
  66. case 44:
  67. case 54:
  68. case 64:
  69. case 74:
  70. case 84:
  71. case 94:
  72. case 104:
  73. let = "года";
  74. break;
  75. default:
  76. let = "лет";
  77. break;
  78. }
  79. //Проверка роста. Если рост заканчивается на 1, то выводим слово "Сантиметр", если на 2/3/4, то выводим солово "Сантиметра", в остальных случаях выводим слово "Сантиметров"
  80. switch (height)
  81. {
  82. case 1:
  83. case 21:
  84. case 31:
  85. case 41:
  86. case 51:
  87. case 61:
  88. case 71:
  89. case 81:
  90. case 91:
  91. case 101:
  92. case 121:
  93. case 131:
  94. case 141:
  95. case 151:
  96. case 161:
  97. case 171:
  98. case 181:
  99. case 191:
  100. case 201:
  101. case 221:
  102. rost = "сантиметр";
  103. break;
  104. case 2:
  105. case 22:
  106. case 32:
  107. case 42:
  108. case 52:
  109. case 62:
  110. case 72:
  111. case 82:
  112. case 92:
  113. case 102:
  114. case 122:
  115. case 132:
  116. case 142:
  117. case 152:
  118. case 162:
  119. case 172:
  120. case 182:
  121. case 192:
  122. case 202:
  123. case 222:
  124. case 3:
  125. case 23:
  126. case 33:
  127. case 43:
  128. case 53:
  129. case 63:
  130. case 73:
  131. case 83:
  132. case 93:
  133. case 103:
  134. case 123:
  135. case 133:
  136. case 143:
  137. case 153:
  138. case 163:
  139. case 173:
  140. case 183:
  141. case 193:
  142. case 203:
  143. case 223:
  144. case 4:
  145. case 24:
  146. case 34:
  147. case 44:
  148. case 54:
  149. case 64:
  150. case 74:
  151. case 84:
  152. case 94:
  153. case 104:
  154. case 124:
  155. case 134:
  156. case 144:
  157. case 154:
  158. case 164:
  159. case 174:
  160. case 184:
  161. case 194:
  162. case 204:
  163. case 224:
  164. rost = "сантиметра";
  165. break;
  166. default:
  167. rost = "сантиметров";
  168. break;
  169. }
  170. //Выводим результат введенных цифр
  171. Console.WriteLine("Значицца, вам " + age + " " + let + " , а рост " + height + " " + rost + "!");
  172. }
  173. }
  174. Console.ReadKey();
  175. }

Решение задачи: «Повторение или продолжение работы программы (Цикл или нет)?»

textual
Листинг программы
  1. }

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


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

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

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

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

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

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