Итак, что мы здесь сделали? Во-первых, в условиях на проверку равенства мы везде поставили число, с которым сверяем, слева. Это одна из техник, позволяющая избежать глупых ошибок, которые встречаются достаточно часто - и что самое страшное, очень сложно ищутся.
Дело в том, что запись if (action = 1) является корректной и компилятор спокойно скомпилирует ваш код. Что же это за строчка такая? Здесь сначала в переменную action
будет записано число 1, а затем это число будет использоваться как результат проверки условия (вместо условия можно ставить любое число - все, что не ноль, считается правильным условием), и условие сработает. Вот код, который показывает, как можно использовать числа в условиях:
Поэтому запись в виде if (1 == action) позволяет избежать этой ошибки, поскольку (1 = action) - некорректная запись (мы не можем присвоить числу какое-то значение).
В конце первой программы мы добавили еще два условия - проверка, если a меньше 1 и больше 4 (таких чисел пользователю вводить нельзя). Эта проверка осуществляется с помощью операторов > (больше) и < (меньше).
Все операторы сравнения ==, <, > возвращают
"правдивость условия" - то есть true (правда, истина) - в случае правильности условия, и false (ложь) - в случае неверного условия. Если внутри скобок if будет false (кстати можно даже записать if(false) ) - то блок if не выполнится, и программа пойдет дальше. Если true ( if(true) - такая запись тоже возможна) - то он выполнится.
Условия - это довольно большая и важная тема, поэтому мы поговорим о них еще.