Ветка else
Инструкция if выполняет свой блок, только если условие истинно. Но часто нужно что-то сделать и тогда, когда оно не выполняется. Для этого есть else:
int temperature = 12;
if (temperature > 25) {
std::cout << "Возьмите кепку" << std::endl;
} else {
std::cout << "Возьмите куртку" << std::endl;
}Программа выведет:
Возьмите курткуУсловие temperature > 25 ложно, поэтому программа пропускает первый блок и выполняет блок после else. Эти два блока называются ветками: как на развилке дороги, программа всегда выбирает ровно одну из них. Если условие истинно — первую, иначе — вторую. Она никогда не выполняет обе и никогда не пропускает обе.
else пишется сразу после закрывающей скобки блока if, обычно в той же строке: } else {. Между } и else не должно быть других инструкций. Иначе у else не окажется того, к чему он относится, и компилятор сообщит error: expected expression.
У else нет собственного условия: ему достаются все случаи, которые не охватил if. Если всё же написать условие, например } else (temperature <= 25) {, компилятор сообщит error: expected ';' after expression. Ошибка советует добавить точку с запятой, но на самом деле нужно удалить условие после else.
Задание
- 1
Теперь монитор стоит 5000, и программа ничего не выводит. Добавьте к инструкции
ifветкуelse, которая выводитНе буду покупать монитор. - 2
Измените
monitorPriceна3500и запустите программу ещё раз. Теперь условие истинно, поэтому программа выбирает первую ветку и выводит толькоКуплю монитор.