Условный (тернарный) оператор позволяет внедрять простые конструкции if...else непосредственно в выражение.

Синтаксис:

условие ? выражение1 : выражение2;

Условие - выражение, используемое в качестве условия. Выражение1 и выражение2 выполняются в зависимости от условия. Если условие истинно, выполняется выражение1, иначе - выражение2.

#include <iostream>
int main() {
 setlocale(LC_ALL, "Russian"); 
 int mark; //для чтения ввода
 std::cout << "Введите полученную оценку (1-100)" << std::endl;
 std::cin >> mark;
 std::cout << ( (mark < 60) ? "не сдал" : "сдал" ) << std::endl;
 return 0;
}

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

Условные операторы можно вкладывать один в другой. Например, можно уточнить вывод оценки в примере.

std::cout << ( (mark >= 90) ? "Сдал на отлично" : ((mark < 60) ? 
"не сдал" : "сдал" ) ) << std::endl;


 Похожие публикации
2016-01-31 • Просмотров [ 150 ]