Условный (тернарный) оператор позволяет внедрять простые конструкции 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;