Повторение или продолжение работы программы (Цикл или нет)? - C#
Формулировка задачи:
Ребят, прошу прощения за Заголовок темы. Я абсолютный новичек и даже не знаю, как назвать заголовок. По Ютубу пытаюсь изучать C# и программирование в целом. Прошел условия, циклы и переменные, и вот сразу решил создать первый маленький проект. Код будет под текстом.
Проект заключается в том, что просит ввести возраст и рост, после чего сообщает мне в текстовом виде все мною введенное. У меня начинается проверка if на предмет Возраста и Роста. Т.е. если Возраст превышает 121 год, то программа спрашивает "Вы - мумия?", затем закрывается. Если же Возраст не превышает 121 год, то требуется ввести Рост и начинается проверка if Роста. Если Рост свыше 230, то возникает вопрос "Вы - столб?" и программа закрывается, если менее 231, то программа начинает проверку цифр, что бы по-русски грамотно сделать вывод и, НАКОНЕЦ, выводит результат.
А я хочу сделать так, что, если все таки Возраст или Рост за пределами допустимого значения, то программа выдавала бы повтор на введение корректных данных (Возраста или Роса) и продолжала работу, а не закрывалась.
Я пытался сделать это с помощью цикла while, но что-то у меня все криво получалось и не получилось реализовать.
Прошу Вас, помогите, подскажите))) Спасибо!))
Вот он рабочий код:
static void Main(string[] args)
{
//Объявляем переменные
int age; //Возраст в цифрах
int height; //Рост в цифрах
string let; //слова "Год, Года, Лет"
string rost; //слова "Сантиметр, Сантиметра, Сантиметров"
string mumi = "Вы - мумия?"; //Просто ввел переменную, что бы не вводить слова в коде
string stolb = "Вы - столб?"; //Просто ввел переменную, что бы не вводить слова в коде
//Первый вопрос для введния цифры в переменную age
Console.Write("Введите свой возраст и нажмите Enter: ");
age = Convert.ToInt32(Console.ReadLine()); //Ввод цифры в переменную age
if (age > 121) //Проверка. Если возраст превышает 121 год, значит человек уже мумия
{
Console.WriteLine(mumi);
}
else //если человеку менее 122 лет, то идет запрос на введение цифры в переменную height
{
//Второй вопрос для введения цифры в переменную height
Console.Write("Введите свой рост и нажмите Enter:");
height = Convert.ToInt32(Console.ReadLine());
if (height > 230) //Проверка. Если рос превышает 230 год, значит человек уже столб
{
Console.WriteLine(stolb);
}
else //если человек ниже 231 сантиметра, то, перед выводом результата, идет проверка, какие именно цифры ввел человек, что бы вывод был по-русски грамотным
{
//Проверка возраста. Если возраст заканчивается на 1, то выводим слово "Год", если на 2/3/4, то выводим солово "Года", в остальных случаях выводим слово "Лет"
switch (age)
{
case 1:
case 21:
case 31:
case 41:
case 51:
case 61:
case 71:
case 81:
case 91:
case 101:
case 121:
let = "год";
break;
case 2:
case 3:
case 22:
case 32:
case 42:
case 52:
case 62:
case 72:
case 82:
case 92:
case 102:
case 23:
case 33:
case 43:
case 53:
case 63:
case 73:
case 83:
case 93:
case 103:
case 24:
case 34:
case 44:
case 54:
case 64:
case 74:
case 84:
case 94:
case 104:
let = "года";
break;
default:
let = "лет";
break;
}
//Проверка роста. Если рост заканчивается на 1, то выводим слово "Сантиметр", если на 2/3/4, то выводим солово "Сантиметра", в остальных случаях выводим слово "Сантиметров"
switch (height)
{
case 1:
case 21:
case 31:
case 41:
case 51:
case 61:
case 71:
case 81:
case 91:
case 101:
case 121:
case 131:
case 141:
case 151:
case 161:
case 171:
case 181:
case 191:
case 201:
case 221:
rost = "сантиметр";
break;
case 2:
case 22:
case 32:
case 42:
case 52:
case 62:
case 72:
case 82:
case 92:
case 102:
case 122:
case 132:
case 142:
case 152:
case 162:
case 172:
case 182:
case 192:
case 202:
case 222:
case 3:
case 23:
case 33:
case 43:
case 53:
case 63:
case 73:
case 83:
case 93:
case 103:
case 123:
case 133:
case 143:
case 153:
case 163:
case 173:
case 183:
case 193:
case 203:
case 223:
case 4:
case 24:
case 34:
case 44:
case 54:
case 64:
case 74:
case 84:
case 94:
case 104:
case 124:
case 134:
case 144:
case 154:
case 164:
case 174:
case 184:
case 194:
case 204:
case 224:
rost = "сантиметра";
break;
default:
rost = "сантиметров";
break;
}
//Выводим результат введенных цифр
Console.WriteLine("Значицца, вам " + age + " " + let + " , а рост " + height + " " + rost + "!");
}
}
Console.ReadKey();
}Решение задачи: «Повторение или продолжение работы программы (Цикл или нет)?»
textual
Листинг программы
}