×

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

C++ File Handling

File handling is a mechanism that manipulates the data stored in files. File handling store output data from the program to external file and read file data to the program. There...

3 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.

Similarities between C++ and Java

People who are preparing for software engineering roles must have come across either one of these languages because as all the companies do not accept python for hiring a fresher...

3 minutes read.

Differences Between C Structures and C++ Structures

The below table clearly describes the differences between C and C++ programming languages Structures concepts where the core principle concepts like static members, data handling, pointers, access modifiers, the importance...

3 minutes read.

Program that produces different results in C and C++

Introduction: There are many such programs that compile run both in C and C++ but give different outcomes when compiled by the C and C++ compilers. There are a variety of such...

6 minutes read.

INT_MAX and INT_MIN in C/C++

In competitive programming, assigning a variable that maximum or minimum value a data type can carry is frequently necessary. Still, it might be challenging to recall such a significant, exact...

3 minutes read.

C++ Range-based For Loop

In C++ language, the range-based for loop was added, which is far superior than the ordinary For loop. The implementation of a range-based for loop doesn't really need much code. It's a...

4 minutes read.

Inheritance in C++ vs Java

Just like we inherit traits from our parents, object-oriented programming has a concept called inheritance. In terms of object-oriented programming, a class's traits and behaviours, or its data and methods,...

4 minutes read.

C++ Queue

C++ queue: Queue in C++ is also a container adapter with the functionality of a queue. Queue is just the opposite of the stack in C++ because stack works on...

4 minutes read.

Function overloading in C++

Function overloading in C++ As we know that C++ works on the OOP Concepts, that are abstraction, encapsulation, and data hiding, it also uses the other important feature of OOP, which...

8 minutes read.

DES in C++

The popularity of the Data Encryption Standard (DES) is slightly declining as a result of the discovery that DES is susceptible to very strong attacks. Since DES is a block cypher,...

3 minutes read.

C++ Overriding

C++ Function Overriding When the base and derive class both contain the same function name and calling the function through derived object invokes derived class function called function overriding. Function overloading is...

1 minute read.

SET Data Structure in C++

Generally, in our home, we store food items in a fridge or kitchen efficiently to find them easily and use them. Similarly, in programming, we need to store the data...

6 minutes read.

C++ cin and cout

In this article, we will discuss the C++ cin and cout with their library and examples. C++ Standard Input/Output: User-program communication is made possible by C++’s usage of input and output (I/O)...

5 minutes read.

swap() function in C++

Swap() function: swap() function in C++: swap() function is a pre-define function in c++ present in STL( Standard template library ). It is used to swap two numbers. It takes two mandatory...

6 minutes read.

C++ Try-Catch

Every useful program will eventually encounter unexpected outcomes. By entering data that are incorrect, users might create mistakes. Sometimes the program's creator didn't consider all of the options or was...

7 minutes read.

Type difference of Character literals in C VS C++

Character literals in C: In C, a character literal is represented by a single character enclosed in single quotes, such as 'a' or 'b'. It is of type int. This means...

5 minutes read.

Data Hiding in C++

C++ : High-performance apps can be made using the cross-platform language C++. Bjarne Stroustrup created C++ as an addition to the C language. Programmers have extensive control over memory and system...

3 minutes read.

Divide by Zero Exception in C++

We use exception handling method to handle the divide by zero exception. Dividing a number with zero is generally mathematical error. We have to exception handling method to overcome this...

2 minutes read.

How to create a directory or folder in C/C++?

A directory is to lists all files and subdirectories in a directory, set of the files will be kept in the directory, which is a location. A subdirectory is a...

5 minutes read.