×

Do-While Loop Examples in C++

Before we move on the examples of Do-While loop, let’s learn little bit about the Do-While loop in C++ language.

Do While loop

An iterative loop that checks the condition at the end.
The Do-While loop can be used whenever a test condition is specific, as the control enters the loop at a minimum once before the condition is evaluated. This loop checks the given condition after the execution of looping statements.

The loop actions or statements will be repeated infinitely as long as the test requirements are met. Three expressions are utilized to build this loop, just as they are in a while loop. Expression 1 is used to initialize the index value that appears after the loop is exited, expression 2 is used to alter the index value, and the expression 3 is used to determine whether the loop should be repeated or not.

DO-WHILE LOOP means “first do it, then check”

Syntax of Do While Loop

Syntax of Do While Loop
        Do
           { 
            statement(s);
           } 
         while(expression);

in other words, do-while is equivalent to:

initialization
do{
     statement 1
     statement 2
      _________
     _________
      Increment/updation
}
While (condition)

Examples of Do-While Loop

Example 1: Finding LCM of three numbers using DO-WHILE loop:

Algorithm:

Step 1: Start.

Step 2: Read three numbers a, b, and c.

Step 3: max =(a>b)? ((a>c)? a:c): ((b>c)?b:c).

Step 4: Check the condition max%a==0 and max%b==0 and max%c==0.

Step 5: max++. After this, step4 is repeatedly executed until the condition is false.

Step 6: Stop.

Program:

#include <iostream>
using namespace std;
int main()
{
    int a, b, c, max;
    cout<<"Enter three numbers:";
    cin>>a>>b>>c;
    // maximum value between a or b or c is stored in max //
   max = (a>b)? ((a>c)? a:c): ((b>c)?b:c);
 do
    {
       if (max % a == 0 && max % b == 0 && max%c==0)
        {
           cout << "LCM = " << max;
           break;
       }
      else
            ++max;
 }
 while (true);
 return 0;
}

Output:

Enter three numbers:
12 
18
24
LCM= 72

Explanation:

The user is asked to input three integers a, b and c. The largest of those three numbers is placed in max variable.

The loop is finished when the max is divisible by all the three integers a, b and c. When this condition is true, then the value of max variable (which is the LCM of the given three numbers) is printed and the loop is terminated. If this is not the case, the value of max is increased by one, and the process is repeated until max is divisible by a, b, and c.

Example 2: Check whether the given number is a palindrome or not

Algorithm:

Step 1: Start.

Step 2: Read the number(n).

Step 3: digit=n%10

              Rev=(rev*10)+rev

Step 4: n=n%10.

Step 5: n! =0

             If(true)

              Repeat step 3&4

            Else

              print (rev)

Step 6: if(num==rev)

             print(number is palindrome)

             else

                not palindrome.       

Step 7: Stop.

Program:

#include <iostream>
using namespace std;
int main()
{
     int num, n, digit, rev = 0;
     cout << "Enter a positive number: ";
     cin >> n;
     num = n;
     do
     {
         digit = n % 10;
         rev = (rev * 10) + digit;
         n = n / 10;
     } while (n!=0);
     cout << " The reverse of the number is: " << rev << endl;
    if (num == rev)
         cout << " The number is a palindrome.";
     else
         cout << " The number is not a palindrome.";
 return 0;
}

Output:

Enter a number: 121
The number is palindrome

Explanation:

In the above code, the user is requested to enter a positive integer, which is saved in the variable n.

This integer variable is then assign to a variable called num, which is used to check if the original integer is same as the reversed value.

The last digit of the number is separated inside the do...while loop using the code digit = (n%10). The value of digit is then added to the rev variable.

To add the digit to the nth place in the number, we have to multiply the current data in the rev variable by 10 before adding the digit.

The do-while loop stops when the number becomes equal to zero. The original number, num, is then compared to the rev varibale.

The original number is palindrome if the numbers are equal; otherwise, it is not.

Example 3: Program to print Fibonacci Series using Do-While loop.

Algorithm:

Step 1: Start.

Step 2: Declare variable a, b, next, n, i.

Step 3: Initialize variable a=0, b=1 and  i=2

Step 4: Read n from user.

Step 5: Print the value of a and b.

Step 6: Repeat until i<=n :

                Next=a+b

                print next

               a=b, b=c

                i=i+1

Step 7: Stop.

Program:

#include <iostream>
using namespace std;
int main()
 {
    int n, i, a=0, b=1, next=0;
    cout << "Enter the number of terms: ";
    cin >> n;
    cout << "Fibonacci Series: ";
    i=1;
do {
        // Prints the first two terms //
      if(i==1) 
       {
             cout<<a<< ", ";
        }
        if(i==2)
       {
            cout<<b<< ", ";
       }
        next=a+b;
        a=b;
        b=next;
       cout<<next<<",";
++i;
      }
      while(i<=n);
      return 0;
}


Output:

Enter number of terms 5
0, 1, 1, 2, 3, 5, 8

Explanation:

Fibonacci series is the addition of the preceding two numbers.

In the code, we gave the first two values a=0 and b=1. And, then we use the do-while loop for generating the next terms. The loop adds the preceding values and print the sum of those values. This process performs repeatedly until the value of i becomes n.


Related Topics

Naming Convention in C++

The first and most fundamental step a programmer takes to produce clean code is to name a file or a variable. This naming must be acceptable so that it serves...

5 minutes read.

C++ Constructor

Constructor is a specific method in C ++ that is automatically called when an object is created. Typically, it is used to set the data members of a new object....

4 minutes read.

C++ Recursion Function

A programming method called recursion that uses a function to call itself to address lesser problems. The Fibonacci sequence, factorial computation, and tree traversal are just a few of the...

4 minutes read.

Upcasting and Downcasting in C++

With the help of various examples in the C++ programming language, this section will cover Upcasting and Downcasting. Upcasting and downcasting, on the other hand, are two forms of object typecasting. Consider...

3 minutes read.

C++ vardiac() function

In the C++ programming language, the flexibility feature is provided by the variadic function. To understand more about flexibility, let's see the following syntax. Syntax: If we have to add two numbers,...

3 minutes read.

Memset in C++

Memset () is a function in the C++ programming language that fills memory blocks. The value of "ch" is first converted to an unsigned character. In this case, "ch" denotes the...

3 minutes read.

Passing a Vector to a function in C++

A pointer is sent to the function when we feed it an array. However, there are two ways to pass a vector: Pass by Value Pass by Reference A copy of a vector...

3 minutes read.

How to implement map in C++

Part of the C++ STL is maps (Standard Template Library). Maps are associative containers that hold sorted key-value pairs, where each key is distinct and may only be added or...

4 minutes read.

Abstract class in C++

In this article, you will get exposure to an abstract class in C++. We will discuss this topic using some practical examples too. To understand the abstract classes, you should...

6 minutes read.

Size_t Data Type in C++

In C++, the type to express the object size in bytes is defined as Size_t, an unsigned integer type offered by the standard library for describing the object's size and...

3 minutes read.

Pattern programs in C++

In this article, we are going to discuss different pattern programs in C++. Program for Printing * patterns: Right Angle Triangle* pattern #include <iostream> using namespace std; int main() {     int rows;     cout <<...

3 minutes read.

Private Inheritance in C++

Private inheritance is an inheritance in object-oriented programming (OOP) languages where a subclass derives from a superclass. Still, the derived class does not inherit the public and protected members of...

7 minutes read.

Hexadecimal to Decimal in C++

In computers, hexadecimal numbers are represented with base 16 and decimal numbers are represented with base 10 and values 0-9, whereas hexadecimal numbers have digits ranging from 0 to 15,...

3 minutes read.

C++ Switch

In C++, an expression or variable can be tested against a range of constant values using a switch statement, which is a control flow statement. It offers a productive method...

4 minutes read.

C++ Continue

In C++, the continue statement is a useful tool for avoiding specific scenarios without breaking the loop. It is employed inside loops to move directly to the following iteration and...

4 minutes read.

Copy elision in C++

The Copy Omission is another name for the Copy Elision. One of the several compiler optimization techniques is copy elision. It prevents items from being copied inadvertently. This Copy Elision approach...

3 minutes read.

How to declare a 2D array dynamically in C++

In this article, we will learn how to declare the dynamic array in C++. We also learn the initialization of a 2D array using a pointer in C++. Here, we...

3 minutes read.

Structure of C++ Program

Many people believe that C++, an object-oriented programming (OOP) language, is the finest language for developing demanding applications. A superset of the C language is C++. Java, a closely comparable...

4 minutes read.

std::min in C++

std::min in C++ std::min is specified in the program code, used to calculate the lowest amount that has been transferred. When there's more of someone who returns first of them. It's used...

2 minutes read.

C++ vs C#

What exactly is C++ programming? Bjorne Stroustrup is the creator of the C++ programming language. His goal was to create a powerful object-oriented programming language with the capabilities of C. It...

4 minutes read.