Только начал работать с C#
почему когда просит вписать возраст, и я пишу меньше 16, не активируется else? Вот код:
System.Console.WriteLine("Your name:");
string user_name = Console.ReadLine();
if (user_name == "Ilya" || user_name == "ilya"){
System.Console.WriteLine("Recognized you, let in");
System.Console.WriteLine("Write your age");
short age = Convert.ToInt16(Console.ReadLine());
if (age >=16){
System.Console.WriteLine("Write one-time code");
}
short code = Convert.ToInt16(Console.ReadLine());
if (code == 207){
System.Console.WriteLine("Let you in");
}
} else {
System.Console.WriteLine("I dont know you");
}
Ответы (1 шт):
Потому, что у Вас блок else находится "на уровень выше", чем тот if, в котором Вы анализируете возраст.
То есть, в том коде, который сейчас в вопросе, блок else есть только на последнее условие. Просто есть лишние закрывающие скобки.
У меня впечатление, что Вас губят две вещи: неаккуратное форматирование и расстановка скобок то ли вручную, то ли по какому то руководству, которое Вас неправильно учит.
Если Вы хотите, чтобы у условия "мне больше (или равно) 16 лет" была "ветка альтернативной реальности" (проще говоря, блок else) - то Вам надо исправить код примерно так:
System.Console.WriteLine("Your name:");
string user_name = Console.ReadLine();
if (user_name == "Ilya" || user_name == "ilya")
{
System.Console.WriteLine("Recognized you, let in");
System.Console.WriteLine("Write your age");
short age = Convert.ToInt16(Console.ReadLine());
if (age >=16)
{
System.Console.WriteLine("Write one-time code");
}
else
{
// это и есть нужный else
}
}
short code = Convert.ToInt16(Console.ReadLine());
if (code == 207)
{
System.Console.WriteLine("Let you in");
}
else
{
System.Console.WriteLine("I dont know you");
}
Обратите внимание:
каждый блок кода внутри скобок - сдвинут вправо, поэтому чётко выделяется
открывающие и закрывающие скобки расположены друг под другом - то есть, видно, что "у вот этой открывающей скобки закрывающая сестра - вот она, на 6 строк ниже"
Попробуйте писать так, пока не набъете руку. После этого можете писать как угодно, вплоть до страшного суда (где, говорят, программистов судят как раз по стилю оформления кода)