В этой статье мы познакомимся с ещё одной конструкцией в языках программирования. Это условия.

Часто нам нужно отбирать какие либо предметы согласно некоторому условию. Например, если мы хотим составить отчет о посещаемости сайта по возрасту, то мы зададим условие: “А сколько человек в возрасте от 18 до 35 лет посещают данный сайт в день”. Иными словами, мы хотим взять только тех людей, чей возраст превышает 18 И меньше, чем 35. Постоение составных (из нескольких высказываний) условий напрямую ведет нас в алгебру логики. Подробнее об алгебре логики можно узнать на странице Википедии.

В языке С++ приняты следующие логические операторы:

Конъюнкция (И) && или and
Дизъюнкция (ИЛИ) or или две вертикальные черты
Отрицание (НЕ) !
Сложение по модулю 2 (xor) ^

Синтаксис условий имеет следующий вид:

if(<condition>)
  {
    // выполняется, если условие истинно
  }
else if (<condition>)
  {
    // выполняется, если первый if не выполнился, а здесь condition = true
  }
else
  {
    // иначе выполняется это
  }

Также чтобы задавать условия нам потребуются операторы отношения

Больше >
Больше или равно >=
Меньше <
Меньше или равно <=
Равно ==
Не равно !=

Таким образом мы можем составить условие, которое было озвучено в начале статьи:

int age = 23;
if (age >= 18 && age <= 35)
cout << "You are welcome;)";

Обратите внимание, что если внутри условия содержится одна операция - её можно не обрамлять фигурными скобками. В противном случае это сделать необходимо.

Переключатель

Также в языке C++ сущнествует такой оператор, как переключатель (switch). Данная конструкция принимает на вход какое либо значение и выполняет указанные действия.

Рассмотрим следующий код:

int mark;
cin >> mark;
switch (mark)
{
   	case 2: 
   	{
		cout << "Too bad";
		break;
	}
	case 3: 
	{
		cout << "Intermediate";
		break;
	}
	case 4:
	{
		cout << "Good";
		break;
	}
	case 5:
	{
		cout << "Exellent";
		break;
	}
	default:
	{
		cout << "Error!";
		break;
	}
}

Вы вводите оценку (mark) и далее в дело вступает switch. Он ищет подходящее значение в case’ах и если находит, то выполняет действия, указанные в нем. Если указанное значение не было найдено, то управление передается в default. Обратите внимание, что в конце каждого case присутствует оператор break. Это оператор безусловного выхода из цикла, но также и из switch. Попробуйте понаблюдать, что будет, если оператор break опустить.