Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda 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.

Tarefa

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"

Solução

solution.cpp

solution.cpp

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 1
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you give an example of a ternary operator in code?

What are some common mistakes when using ternary operators?

When should I use an if-else statement instead of a ternary operator?

close

Awesome!

Completion rate improved to 7.69

bookChallenge: Ternary Operator

Deslize para mostrar o 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.

Tarefa

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"

Solução

solution.cpp

solution.cpp

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 1
single

single

some-alt