В компьютерных программах, как и в жизни, иногда приходится выбирать из более чем двух вариантов. Оператор C++ if else можно расширить, чтобы он отвечало таким потребностям. Как уже говорилось, за else должен следовать единственный оператор, который может быть и блоком операторов. Поскольку конструкция if else сама является единым оператором, она может следовать за else:
if (ch == 'А' )
a_grade++; // альтернатива # 1
else
if (ch == 'B') // альтернатива # 2
b_grade++; // подальтернатива # 2a
else
soon++; // подальтернатива # 2b
Если значение ch не равно 'A', программа переходит к else. Там второй оператор if else разделяет эту альтернативу еще на два варианта. Свойство свободного форматирования C++ позволяет расположить эти элементы в более читабельном виде:
if (ch == 'А')
a_grade++; // альтернатива # 1
else if (ch == 'B')
b_grade++; // альтернатива # 2
else
soon++; // альтернатива # 3
Это выглядит как совершенно новая управляющая структура — if else if else. Но на самом деле это один оператор if else, вложенный в другой. Пересмотренный формат выглядит намного яснее и позволяет даже при поверхностном взгляде оценить все альтернативы. Вся эта конструкция по-прежнему трактуется как единственный оператор.
8. Любимое число с подсказками.
