Вложенный условный оператор
Что делать, если нам необходимо проверить несколько условий и если они выполняются, то выполнить определенные действия?
В этом случае мы можем использовать
вложенный условный оператор.
Вложенный условный оператор - это условный оператор, которых находится внутри блока «if
» или блока «else
». При этом оператор else всегда
относится к ближайшему предыдущему блоку if
.
Задача
По имеющейся сумме денег (в условных единицах) необходимо вывести на экран фразу:
- если сумма больше 10 усл. ед., то вывести "У вас достаточно денег.";
- если сумма больше 100 усл. ед., то вывести "У вас очень много денег.";
- если сумма не больше 10 усл. ед., то вывести "У вас маловато денег.".
Из условия задачи можно заметить, что если у тебя больше 10 усл. ед. денег, то необходимо еще проверить условие, больше ли 100 усл. ед. и если больше, то вывести фразу "У вас очень много денег." Если же денег больше 10, но меньше или равно 100, то фраза должна быть "У вас достаточно денег.". Получается, что прежде, чем вывести эту фразу, необходимо проверить еще одно условие. Пример реализации программы с вложенным условным оператором описан ниже
Программа
#include <iostream>
using namespace std;
int main()
{
int money;
cin >> money;
if ( money > 10 ) # если денег больше 10
{
# Вложенный условный оператор
if ( money > 100 ) # и при этом денег больше 100
{
cout << "У вас очень много денег." << endl; # выводим фразу 1
}
else
{
cout << "У вас достаточно денег." << endl; # если денег больше 10,
# но не больше 100,
# то выводим фразу 2
}
}
else
{
cout << "У вас маловато денег." << endl; # если денег не больше 10,
# то выводим фразу 3.
}
return 0;
}
В этой программе
- Мы принимаем от пользователя целое число в качестве входных данных и сохраняем его в переменной
money
.
- Затем мы используем оператор
if...else
, чтобы проверить, больше ли значение money
10.
- Если это так, то выполняется внутренний оператор
if...else
.
- Если
false
, то выполняется код во внешнем блоке else
, который выводит фразу "У вас маловато денег.".
- Внутренний оператор
if...else
проверяет, является ли значение money
больше 100.
- Если
true
, то выводится фраза "У вас очень много денег.".
- Если
false
, то выводится фраза "У вас достаточно денег.".
Не забывайте оформлять программу лесенкой, для улучшения читаемости и лучшего ее понимания!