Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge: Else Statement | Introduction to Conditional Statements
C++ Conditional Statements

bookChallenge: Else Statement

The else statement is a crucial element in controlling the program flow. It complements the if statement by allowing a program to take different actions depending on whether a given condition is true or false. Essentially, it enables the program to choose between two alternative paths.

else.h

else.h

copy
12345678
if (condition) { // Code to be executed if the condition is true } else { // Code to be executed if the condition is false }

If the condition is false, the code inside the first block (the one following if) is skipped, and the code inside the second block (the one following else) is executed.

When executed, it appears to be functioning as expected. Since the variable x is less than 10, the output correctly states: X is not greater than 10.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> int main() { int x = 5; if (x > 10) { std::cout << "X is greater than 10" << std::endl; } std::cout << "X is not greater than 10" << std::endl; }

But try to modify the value of a variable x to a number greater than 10, and then execute the provided code snippet once more. As you can see there are two distinct messages: one indicating that X is greater than 10, and the other specifying that X is not greater than 10.

The key thing to understand is that the second std::cout statement is not part of the if block, it is always be executed unconditionally after the if block resulting in both messages being printed. Of course this has to be fixed and this issue can be resolved by using an else keyword.

main.cpp

main.cpp

copy
123456789101112131415
#include <iostream> int main() { int x = 5; if (x > 10) { std::cout << "X is greater than 10" << std::endl; } else { std::cout << "X is not greater than 10" << std::endl; } }

Now everything works as expected and only one of two instructions will be executed depending on the value of the x.

Note
Note

The else keyword can be followed by any statement, including another if block, and this chain can be extended as necessary, but it's important not to overuse this construct because it can make it challenging to comprehend the program's flow.

Task

Swipe to start coding

You are developing a shipping calculator that determines the cost of delivery based on the weight of a package.

  1. Inside the calculateShippingCost function, create a variable cost to store the shipping price.
  2. Use conditional statements to determine the cost:
    • If weightKg is less than or equal to 2, set the cost to 5.0.
    • If weightKg is less than or equal to 5, set the cost to 10.0.
    • Otherwise, set the cost to 20.0.
  3. Return the cost from the function.

Solution

solution.cpp

solution.cpp

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 1. ChapterΒ 4
single

single

Ask AI

expand

Ask AI

ChatGPT

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

Suggested prompts:

Can you show me an example of how the if-else statement should be structured?

What happens if I add more conditions, like using else if?

Can you explain why the second std::cout was always executed before the fix?

close

Awesome!

Completion rate improved to 7.69

bookChallenge: Else Statement

Swipe to show menu

The else statement is a crucial element in controlling the program flow. It complements the if statement by allowing a program to take different actions depending on whether a given condition is true or false. Essentially, it enables the program to choose between two alternative paths.

else.h

else.h

copy
12345678
if (condition) { // Code to be executed if the condition is true } else { // Code to be executed if the condition is false }

If the condition is false, the code inside the first block (the one following if) is skipped, and the code inside the second block (the one following else) is executed.

When executed, it appears to be functioning as expected. Since the variable x is less than 10, the output correctly states: X is not greater than 10.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> int main() { int x = 5; if (x > 10) { std::cout << "X is greater than 10" << std::endl; } std::cout << "X is not greater than 10" << std::endl; }

But try to modify the value of a variable x to a number greater than 10, and then execute the provided code snippet once more. As you can see there are two distinct messages: one indicating that X is greater than 10, and the other specifying that X is not greater than 10.

The key thing to understand is that the second std::cout statement is not part of the if block, it is always be executed unconditionally after the if block resulting in both messages being printed. Of course this has to be fixed and this issue can be resolved by using an else keyword.

main.cpp

main.cpp

copy
123456789101112131415
#include <iostream> int main() { int x = 5; if (x > 10) { std::cout << "X is greater than 10" << std::endl; } else { std::cout << "X is not greater than 10" << std::endl; } }

Now everything works as expected and only one of two instructions will be executed depending on the value of the x.

Note
Note

The else keyword can be followed by any statement, including another if block, and this chain can be extended as necessary, but it's important not to overuse this construct because it can make it challenging to comprehend the program's flow.

Task

Swipe to start coding

You are developing a shipping calculator that determines the cost of delivery based on the weight of a package.

  1. Inside the calculateShippingCost function, create a variable cost to store the shipping price.
  2. Use conditional statements to determine the cost:
    • If weightKg is less than or equal to 2, set the cost to 5.0.
    • If weightKg is less than or equal to 5, set the cost to 10.0.
    • Otherwise, set the cost to 20.0.
  3. Return the cost from the function.

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Β 1. ChapterΒ 4
single

single

some-alt