Вложенный if - else
Часть раздела Основы путешествия по C++ на Coddy — урок 32 из 74.
Мы можем вкладывать инструкции if-elif-else друг в друга. Это позволяет нам создавать иерархические структуры принятия решений.
Например:
if (age > 18) {
if (hasLicense) {
std::cout << "You can drive";
} else {
std::cout << "Get a license first";
}
} else {
std::cout << "Too young to drive";
}Оно может иметь бесконечную вложенность:
if (condition1) {
if (condition2) {
if (condition3) {
// если condition1, condition2 и condition3 истинны
}
}
}Задание
НовичокСоздайте программу, которая проверяет, может ли человек покататься на американских горках. Требования следующие:
- Возраст должен быть не менее 12 лет
- Рост должен быть выше 150 см
- Если они соответствуют обоим требованиям, но им меньше 15 лет, им требуется сопровождение взрослых
Выводите именно эти сообщения для каждого случая:
- Если слишком молод:
Sorry, you are too young - Если недостаточно высок:
Sorry, you are not tall enough - Если меньше 15 лет и без взрослого:
Sorry, you need an adult with you - Если меньше 15 лет со взрослым:
You can ride with adult supervision! - Если 15 лет или старше и рост достаточный:
You can ride by yourself!
Шпаргалка
Вы можете вкладывать операторы if-elif-else друг в друга для создания иерархических структур принятия решений:
if (age > 18) {
if (hasLicense) {
std::cout << "You can drive";
} else {
std::cout << "Get a license first";
}
} else {
std::cout << "Too young to drive";
}Вложенность может быть бесконечной:
if (condition1) {
if (condition2) {
if (condition3) {
// если condition1, condition2 и condition3 истинны
}
}
}Попробуйте сами
#include <iostream>
int main() {
int age, height;
bool hasAdult;
std::cin >> age >> height >> hasAdult; // Не меняйте эту строку
// Напишите свой код ниже
return 0;
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент и декрементПостфиксный инкремент и декрементСокращенные арифметические операцииОператоры сравненияСравнение строк7Основы ввода-вывода
Оператор coutОператор cinВвод строкПовторение — До 120Повторение — Истина или ложь3Переменные. Часть 2
Объявление типовСоглашения об именованииПовторение: инициализация переменныхПриведение типов. Часть 1Приведение типов. Часть 26Принятие решений
Оператор ifКонструкция if - elseОператор switchУсловный операторПовторение: if - elseВложенный if - else