CPP Tutorials

Mastering the Do-While Loop in C++


Imagine you’re playing a video game where you need to keep moving your character until you reach the end of the level. In C++, the do-while loop is perfect for this situation. It allows your program to perform an action at least once, and then continue repeating that action until a specific condition is met. This loop is useful when you want to ensure that a block of code is executed at least once, regardless of the condition.

In this article, we will explore the do-while loop and discuss its importance and practical use in programming. So, let’s dive in and master the do-while loop!

What Is the Do-While Loop in C++?

The “do-while” loop in C++ is a programming structure that allows you to repeatedly perform a task as long as a certain condition is met. The unique thing about the “do-while” loop is that it guarantees the loop body will be executed at least once, even if the condition is initially false.


   // loop body

while (test_expression);

The do-while loop has different parts that work together:

  1. Test Expression: This is where we check a condition. If the condition is true, we execute the loop’s body of code and then move to the update expression. If the condition is false, we exit the loop.
  2. Update Expression: After the loop’s body is executed, this expression adjusts the loop variable (it might increase or decrease it by some amount).
  3. Body: This is where you put your set of actions, like using variables and functions. The loop continues to run the body as long as the test condition is true. Even if the condition isn’t initially satisfied, the body is executed at least once in a “do-while” loop.

The do-while loop is useful for tasks like printing names, doing complex calculations, or carrying out specific operations. It ensures that the code inside the loop gets executed at least once, and then continues as long as the test condition remains true. This loop structure is versatile and can be used for a wide range of tasks.

How Is the Do-While Loop Used in C++?

  • Start: The program enters the “do-while” loop.
  • Execute Statements: The instructions inside the loop’s body are carried out.
  • Update: Any necessary changes or updates are made.
  • Check Condition: The program evaluates the specified condition.
  • Condition Check: If the condition is true, the program returns to step 2 to repeat the loop.
  • Exit if False: If the condition is false, the program leaves the loop and moves to the next part of the code.
  • Repeat: The program goes back to step 2, continuing the loop if the condition is still true.
  • End: The “do-while” loop concludes, and the program proceeds outside the loop.
Do-While Loop in C++

Real-life Example of do-while loop in C++

Let’s consider a real-life scenario where a do-while loop can be used in C++.

You’re developing an ATM (Automated Teller Machine) software. When a user enters their PIN (Personal Identification Number), the system should verify if the PIN is correct. If not, the ATM should allow the user to re-enter the PIN. The system should allow the user to try a maximum of 3 times. If the user fails to enter the correct PIN in 3 attempts, the ATM should terminate the session.

Code Example:

using namespace std;

int main() {
    int PIN = 1234;  // Let's assume this is the correct PIN.
    int enteredPIN;
    int attempts = 0;

    do {
        cout << "Enter your PIN: ";
        cin >> enteredPIN;

        if(enteredPIN == PIN) {
            cout << "Access granted.\n";
        } else {
            cout << "Incorrect PIN. ";
            if(attempts < 3) {
                cout << "Please try again.\n";
            } else {
                cout << "You've reached the maximum number of attempts. Session terminated.\n";
    } while (enteredPIN != PIN && attempts < 3);

    return 0;


  • This program first sets a predefined PIN as 1234 for simplicity and initializes the ‘attempts‘ to 0.
  • The do-while loop begins, prompting the user to enter their PIN.
  • If the user’s input matches the predefined PIN, a message “Access granted” is printed and the loop is exited using the ‘break‘ statement.
  • If the entered PIN doesn’t match, the user is informed of the incorrect entry. If it’s not their third attempt, they’re asked to try again.
  • If it’s their third failed attempt, they are told that they’ve reached the maximum number of attempts and the session is terminated.
  • The loop will continue until the entered PIN is correct or the user has failed 3 attempts.

A Problem to Solve

Problem Statement:

Create a C++ program that acts as a simple calculator which performs addition, subtraction, multiplication, and division operations. The program should continuously prompt the user to enter two numbers and then ask the user to choose an operation (addition, subtraction, multiplication, division). After performing the operation and showing the result, the program should ask if the user wants to perform another operation. If the user answers ‘yes’, the program should repeat, otherwise, it should terminate.

Here is a hint to get you started:

  1. First, start by asking the user to input two numbers.
  2. Then, ask the user to choose an operation (addition, subtraction, multiplication, division).
  3. Based on the user’s choice, perform the appropriate operation and display the result.
  4. Next, ask the user if they want to perform another operation. You may consider a simple ‘yes’ or ‘no’ input from the user for this.
  5. This is where the ‘do-while‘ loop comes in. The entire process should be put inside a ‘do-while loop. The loop should continue as long as the user answers ‘yes’ to continue.

Examples of Using the Do-While Loop in C++

Let’s look at some examples to see how the ‘do-while‘ loop can be used in C++. We’ll provide the code, the expected output, and a step-by-step explanation of how the ‘do-while‘ loop is used.

Example 1

#include <iostream>
using namespace std;

int main() {
    int num = 1;

    do {
        cout << "Number: " << num << endl;
    } while (num <= 5);

    return 0;


Number: 1
Number: 2
Number: 3
Number: 4
Number: 5


  • The ‘do-while‘ loop structure in C++ first executes the code block within the loop before checking the loop’s condition.
  • After executing the loop block, it checks the condition ‘(num <= 5)‘.
  • If the condition is ‘true‘, the loop continues to run.
  • Inside the loop, the value of num is incremented and printed each time the loop runs.
  • The loop repeats until the condition becomes ‘false‘, i.e., num becomes greater than 5.
  • This particular loop structure ensures the loop’s code block runs at least once, regardless of the condition’s initial state.

Example 2

using namespace std;
int main() {
    int number = 10;
    do {
        cout << number << " ";
    } while (number > 0);
    return 0;


10 9 8 7 6 5 4 3 2 1 


  • Initialization: The program starts by initializing an integer variable number and setting its value to 10. This will be our counter in the loop.
  • Do-While Loop: It uses a ‘do-while‘ loop structure. The code inside the ‘do {}‘ brackets is executed first, then the condition in the ‘while()‘ statement is checked.
  • Inside the Loop: Within the ‘do {}‘ brackets, the program prints the current value of the ‘number‘ variable and then decrements it by 1 (number--).
  • Loop Condition: After each iteration, it checks the ‘while‘ condition. If the ‘number‘ is still greater than 0, it executes the loop again.
  • Loop Ends: The loop continues until ‘number‘ is no longer greater than 0 (i.e., until ‘number‘ becomes 0). At this point, the program ends with a return statement (‘return 0;‘), signaling the successful termination of the program.

The Pros and Cons of Using the Do-While Loop

1. Ensures the code block is executed at least once.1. Can lead to infinite loops if the condition is never false.
2. Useful when you want to execute the code first and then check the condition.2. Limited flexibility compared to other loop types.
3. Can be used in scenarios where you need to validate user input.3. Requires careful consideration of the condition to avoid unwanted repetitions.
The Pros and Cons of Using the Do-While Loop

Key Takeaways

  • ‘do-while’ loop in C++ repeats a block of code at least once and continues as long as a condition is true.
  • It is a post-test loop where the condition is checked after executing the code block.
  • The code block executes first, then the condition is evaluated.
  • The loop guarantees the execution of the code block at least once.
  • Use boolean expressions in the condition to control the loop’s behavior.
  • Avoid infinite loops by ensuring the condition becomes false eventually.
  • Useful for interactive programs and validating user input.


In summary, the ‘do-while’ loop is a valuable feature in C++, offering enhanced programming capabilities. Acquiring proficiency with the ‘do-while’ loop empowers you to create optimized and effective code. So, with consistent practice, you can become adept at leveraging the ‘do-while’ loop to its fullest potential. Happy Coding!


  • What is the do-while loop in C++?
    The do-while loop in C++ is a way for us to repeat a block of code at least once, and then keep repeating it as long as a certain condition is true.
  • Why do we use the do-while loop in C++?
    We use the do-while loop in C++ to make our programs more efficient and interactive. It allows our programs to do something at least once and then keep doing it until a certain condition is no longer true.
  • How do we use the do-while loop in C++?
    We use the do-while loop in C++ by writing do { code block } while (condition);. The code block will be executed at least once, and then keep repeating as long as the condition is true.
  • Can using the do-while loop make code more confusing?
    Yes, if you use the do-while loop incorrectly, it can lead to problems like infinite loops. It’s important to understand how the do-while loop works and when to use it.
  • What are some examples of using the do-while loop in C++?
    Some examples include using the do-while loop to print numbers, using a break statement to stop the loop, and using a continue statement to skip the rest of the loop.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button
Becoming a Full Stack Developer in 2023 How to Become a Software Engineer in 2023

Adblock Detected

Please consider supporting us by disabling your ad blocker!