codescracker
c++

C++ Program to Convert Decimal to Octal



« Previous Program Next Program »


In this article, you will learn and get code on decimal to octal conversion in C++. The program is created with and without using modulous operator. And also with and without using user-defined function.

But before going through the program, if you are not aware about the steps and logics used behind the conversion, then refer to decimal to octal.

Decimal to Octal in C++

To convert decimal number to octal number in C++ programming, you have to ask from user to enter the decimal number first. And then convert it into its equivalent octal value as shown in the program given below:

// C++ Program to Convert Decimal to Octal
// ---codescracker.com---

#include<iostream>
using namespace std;
int main()
{
    int decimalNum, octalNum[50], i=0;
    cout<<"Enter any Decimal number: ";
    cin>>decimalNum;
    while(decimalNum != 0)
    {
        octalNum[i] = decimalNum%8;
        i++;
        decimalNum = decimalNum/8;
    }
    cout<<"\nEquivalent Octal Value = ";
    for(i=(i-1); i>=0; i--)
        cout<<octalNum[i];
    cout<<endl;
    return 0;
}

This program was build and run under Code::Blocks IDE. Here is its sample run:

C++ program convert decimal to octal

Now input any decimal number say 358 and press ENTER key to see its equivalent octal value as shown in the snapshot given below:

decimal to octal c++

The dry run of above program with decimal number input say 358 goes like:

Without using Modulous Operator

This program does not use % (modulous operator) while converting decimal number to octal.

// Decimal to Octal without Modulous Operator
// ---codescracker.com---

#include<iostream>
using namespace std;
int main()
{
    int decimalNum, octalNum[50], i=0, temp, chk, rem;
    cout<<"Enter any Decimal number: ";
    cin>>decimalNum;
    while(decimalNum!=0)
    {
        temp = decimalNum/8;
        chk = temp*8;
        rem = decimalNum - chk;
        octalNum[i] = rem;
        i++;
        decimalNum = temp;
    }
    cout<<"\nEquivalent Octal Value = ";
    for(i=(i-1); i>=0; i--)
        cout<<octalNum[i];
    cout<<endl;
    return 0;
}

It will produce the same output as of previous program.

Using user-defined Function

This is the last program that uses a user-defined function DecimalToOctal(). It takes a decimal number as its argument and convert it into its equivalent octal value.

// Decimal to Octal using User-defined Function
// ---codescracker.com---

#include<iostream>
using namespace std;
void DecimalToOctal(int);
int octalNum[50];
static int i;
int main()
{
    int decimalNum;
    cout<<"Enter any Decimal number: ";
    cin>>decimalNum;
    DecimalToOctal(decimalNum);
    cout<<"\nEquivalent Octal Value = ";
    for(i=(i-1); i>=0; i--)
        cout<<octalNum[i];
    cout<<endl;
    return 0;
}
void DecimalToOctal(int decimalNum)
{
    while(decimalNum != 0)
    {
        octalNum[i] = decimalNum%8;
        i++;
        decimalNum = decimalNum/8;
    }
}

Produces the same output as of very first program of this article.

Note - A static int type variable initializes its initial value as 0, automatically.

Same Program in Other Languages


« Previous Program Next Program »