Условные операторы

Написанные вами программы выполняются строчка за строчкой сверху вниз. Однако, в некоторых случаях необходимо менять поведение программы, например в зависимости от данных, которые передоставляет пользователь или другая программа.

За примерами далеко ходить не придётся, все мы пользуемся различными сайтами на которых нужна авторизация. При вводе логина и пароля программа выполняет алгоритм проверки логина и пароля, и в зависимости от результата проверки выполняет тот или иной алгоритм.

Рассмотрим основные управляющие конструкции if-else и else if в языке программирования С++, которые позволяют выполнить определенные блоки кода в зависимости от условий.

Напоминание:
- Блоки кода записываются внутри фигурных скобок {}

Оператор if-else

Оператор if-else используется для выполнения блока кода при определенном условии, иначе выполняется альтернативный блок кода.

  Перевод на русский:
  if - если
  else if - иначе если
  else - иначе
Синтаксис:
if (условие) { // Блок кода, который выполняется, если условие истинно }
Пример:
#include <iostream> #include <windows.h> #include <locale> int main() { // Установка кодировки консоли в UTF-8 SetConsoleCP(1251); SetConsoleOutputCP(1251); std::locale::global(std::locale("")); std::cout << "Для подтверждения оплаты введите pin-код: "; int pin; std::cin >> pin; if (pin == 3837) { // Проверка условия std::cout << "Оплата успешно потверждена" << std::endl; } else { std::cout << "Нерпавильный pin-код" << std::endl; } return 0; }

В данном примере мы запрашиваем у пользователя pin-код, если введёный пин код равен 3837, тогда выводим уведомление об успехе, в противном случае показываем сообщение о том, что pin-код неправильный.

Ещё пример:
#include <iostream> #include <windows.h> #include <locale> int main() { // Установка кодировки консоли в UTF-8 SetConsoleCP(1251); SetConsoleOutputCP(1251); std::locale::global(std::locale("")); std::cout << "Введите логин: "; std::string login; std::cin >> login; if (login == "admin") { // Проверка условия std::cout << "Доступ разрешен!" << std::endl; } else { std::cout << "Доступ запрещен!" << std::endl; } return 0; }

В этом примере мы запросили у пользователя логин, сравнили со словом "admin", если пользователь ввёл логин admin, то разрешаем доступ, в противном случае запрещаем.


Оператор else if

Оператор else if используется для проверки нескольких условий последовательно. Если предыдущее условие ложно, то проверяется следующее.

Пример:
#include <iostream> #include <windows.h> #include <locale> int main() { int number = 0; // Попробуйте класть сюда разные числа if (number > 0) { std::cout << "Число положительное" << std::endl; } else if (number < 0) { std::cout << "Число отрицательное" << std::endl; } else { std::cout << "Число равно нулю" << std::endl; } return 0; }

В этом примере, если number больше 0, то выводим "Число положительное", иначе проверяем другое условие, если number меньше 0, то выводим "Число отрицательное", в любом другом случае выводим "Число равно нулю".

Ещё пример:
#include <iostream> #include <windows.h> #include <locale> int main() { // Установка кодировки консоли в UTF-8 SetConsoleCP(1251); SetConsoleOutputCP(1251); std::locale::global(std::locale("")); std::cout << "Введите логин: "; std::string login; std::cin >> login; if (login == "admin") { // Проверка условия std::cout << "Доступ разрешен для ADMIN!" << std::endl; } else if (login == "user") { // Проверка этого условия произойдёт, если первое условие было false std::cout << "Доступ разрешен для USER!" << std::endl; } else { std::cout << "Доступ запрещен!" << std::endl; } return 0; }

А этом примере, так же как и в предыдущем мы проверяем несколько условий.


Оператор switch

Оператор switch используется для выполнения различных действий в зависимости от значения выражения. Он имеет следующий синтаксис:

Синтаксис:
switch (выражение) { case значение1: // Блок кода, если выражение == значение1 break; case значение2: // Блок кода, если выражение == значение2 break; default: // Блок кода, если выражение не совпадает ни с одним из значений }}
Пример:
#include <iostream> #include <windows.h> #include <locale> int main() { // Установка кодировки консоли в UTF-8 SetConsoleCP(1251); SetConsoleOutputCP(1251); std::locale::global(std::locale("")); int day = 3; switch (day) { case 1: std::cout << "Понедельник" << std::endl; break; case 2: std::cout << "Вторник" << std::endl; break; case 3: std::cout << "Среда" << std::endl; break; default: std::cout << "Неизвестный день" << std::endl; } return 0; }

Мы рассмотрели основные управляющие конструкции if-else, else if и switch/case в языке программирования C++.
Понимание этих конструкций позволяет эффективно управлять порядком выполнения кода в зависимости от различных условий.

Решайте задачи для закрепления материала "Решать задачи"


Комментарии

Добавить комментарий

Чтобы оставить комменатрий необходимо Авторизоваться