Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge: Ternary Operator | Advanced Topics
C++ Conditional Statements

bookChallenge: Ternary Operator

The ternary operator is a powerful tool that often used to make quick decisions in your code and can greatly improve code readability when used appropriately.

ternary.h

ternary.h

copy
1
condition ? expression_if_true : expression_if_false;

The condition is evaluated. If the condition is true, the expression before the : is executed, otherwise, the expression after the : is executed.

The ternary operator is essentially just an alternative to the if-else statement, providing the code readability and convenience.

if_else.h

if_else.h

ternary.h

ternary.h

copy
123456789
int variable; if (condition) { variable = 25; } else { variable = 10; }

As you can see it using ternary operator can save code space and improve readability and efficiency. However, it is important to save a balance and maintain code maintainability and understandability.

Ternary operators can also be nested to handle more complex conditions. But don't fall into a pitfall full of ternary operatorsю

nested_ternary.h

nested_ternary.h

copy
12345678910
std::string eligibility = age < 18 ? "Too young" : (isStudent ? (hasJob ? "Eligible for student discount" : "Eligible for student perks") : (hasJob ? "Eligible for job-related benefits" : "Not eligible"));

It's really hard to understand what is going on. So it is better to limit yourself to a single ternary operator, with a maximum of one level of nesting at any given time.

Task

Swipe to start coding

You are building a student performance evaluator. Given three test scores, the program should calculate the average score and determine the performance category using a ternary operator.

  1. Inside the function evaluatePerformance, calculate the average of the three scores (score1, score2, score3) by adding them and dividing by 3.0.
  2. Use a ternary operator to determine the performance category based on the average:
    • If the average is 85 or higher -> "Excellent".
    • If the average is 70 or higher but less than 85 -> "Good".
    • If the average is 50 or higher but less than 70 -> "Average".
    • Otherwise -> "Fail"
  3. Return the performance category from the function.

Example

evaluatePerformance(90, 87, 92) β†’ "Excellent"
evaluatePerformance(75, 70, 72) β†’ "Good"
evaluatePerformance(55, 60, 50) β†’ "Average"
evaluatePerformance(40, 45, 30) β†’ "Fail"

Solution

solution.cpp

solution.cpp

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 3. ChapterΒ 1
single

single

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

close

Awesome!

Completion rate improved to 7.69

bookChallenge: Ternary Operator

Swipe to show menu

The ternary operator is a powerful tool that often used to make quick decisions in your code and can greatly improve code readability when used appropriately.

ternary.h

ternary.h

copy
1
condition ? expression_if_true : expression_if_false;

The condition is evaluated. If the condition is true, the expression before the : is executed, otherwise, the expression after the : is executed.

The ternary operator is essentially just an alternative to the if-else statement, providing the code readability and convenience.

if_else.h

if_else.h

ternary.h

ternary.h

copy
123456789
int variable; if (condition) { variable = 25; } else { variable = 10; }

As you can see it using ternary operator can save code space and improve readability and efficiency. However, it is important to save a balance and maintain code maintainability and understandability.

Ternary operators can also be nested to handle more complex conditions. But don't fall into a pitfall full of ternary operatorsю

nested_ternary.h

nested_ternary.h

copy
12345678910
std::string eligibility = age < 18 ? "Too young" : (isStudent ? (hasJob ? "Eligible for student discount" : "Eligible for student perks") : (hasJob ? "Eligible for job-related benefits" : "Not eligible"));

It's really hard to understand what is going on. So it is better to limit yourself to a single ternary operator, with a maximum of one level of nesting at any given time.

Task

Swipe to start coding

You are building a student performance evaluator. Given three test scores, the program should calculate the average score and determine the performance category using a ternary operator.

  1. Inside the function evaluatePerformance, calculate the average of the three scores (score1, score2, score3) by adding them and dividing by 3.0.
  2. Use a ternary operator to determine the performance category based on the average:
    • If the average is 85 or higher -> "Excellent".
    • If the average is 70 or higher but less than 85 -> "Good".
    • If the average is 50 or higher but less than 70 -> "Average".
    • Otherwise -> "Fail"
  3. Return the performance category from the function.

Example

evaluatePerformance(90, 87, 92) β†’ "Excellent"
evaluatePerformance(75, 70, 72) β†’ "Good"
evaluatePerformance(55, 60, 50) β†’ "Average"
evaluatePerformance(40, 45, 30) β†’ "Fail"

Solution

solution.cpp

solution.cpp

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 3. ChapterΒ 1
single

single

some-alt