C Project – Number System Conversion Program in C Part – 2

Get Certified in C Programming and Take Your Skills to the Next Level

Program 1

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
// Declaration of function
void dtobin();
void design();
void dtooct();
void dtohexa();
void bintodec();
void bintooct();
void bintohexa();
void octtodec();
void octtobin();
void octtohex();
//Defination of main
int main()
{
    system("cls");
   design();

}
//Defination of design
void design()
{
    int choice;
do
{
    printf("\n-----------Number System Coversion--------");
    printf("\n1. Decimal to Binary");
    printf("\n2. Decimal to Octal");
    printf("\n3. Decimal to Hexadecimal");
    printf("\n4. Binary to Decimal ");
    printf("\n5. Binary to Octal ");
    printf("\n6. Binary to Hexadecimal");
    printf("\n7. Octal to Decimal");
    printf("\n8. Octal to Binary");
    printf("\n9. Octal to Hexadecimal");
    printf("\n10. Exit");
    printf("\n--------------------------------------------");
    printf("\n Enter your choice");
    scanf("%d",&choice);
    switch(choice)
    {
        case 1:dtobin();break;
        case 2:dtooct();break;
        case 3:dtohexa();break;
        case 4:bintodec();break;
        case 5:bintooct();break;
        case 6:bintohexa();break;
        case 7:octtodec();break;
        case 8:octtobin();break;
        case 9:octtohex();break;
        case 10:break;
        default:printf("Invalid choice .. enter again");
    }
   }while(choice!=10);
}
//Defination of octal to decimal 
void octtodec()
{
    
     int n,dn=0,r,base=1,temp,r1,f=0;
     printf("\n Enter a Octal number (only digit 0 to 7) : ");
     scanf("%d",&n);
     temp=n;
     while(temp!=0) 
     {
          r1=temp%10;
          if(r1<0 || r1>7)
          {
              printf("Invalid octal number");
              f=1;
              break;
          }
        temp=temp/10;  
     }
    if(f==0) 
   { 
     while(n!=0)
     {
          r=n%10;
          dn=dn+r*base;
          base=base*8;
          n=n/10;
     }
     printf("\nDecimal No is: %d",dn);
  }   
}
//Defination of octal to binary 
void octtobin()
{
    
int n,dn=0,r,base=1,temp,r1,f=0;
     printf("\n Enter a Octal number (only digit 0 to 7) : ");
     scanf("%d",&n);
     temp=n;
     while(temp!=0) 
     {
          r1=temp%10;
          if(r1<0 || r1>7)
          {
              printf("Invalid octal number");
              f=1;
              break;
          }
        temp=temp/10;  
     }
    if(f==0) 
   { 
     while(n!=0)
     {
          r=n%10;
          dn=dn+r*base;
          base=base*8;
          n=n/10;
     }
      //printf("\nDecimal No is: %d",dn);
      n=dn;
      int ar[50],i=0;
      while(n!=0)
       {
           r=n%2;
           ar[i]=r;
           i++;
           n=n/2;
       }
       i--;
       printf("\n Binary no is: ");
       while(i>=0)
       {
          printf("%d",ar[i]);
          i--;
       }

  }  

}
//Defination of octal to hexadecimal 
void octtohex()
{
  
    int n,dn=0,r,base=1,temp,r1,f=0;
     printf("\n Enter a Octal number (only digit 0 to 7) : ");
     scanf("%d",&n);
     temp=n;
     while(temp!=0) 
     {
          r1=temp%10;
          if(r1<0 || r1>7)
          {
              printf("Invalid octal number");
              f=1;
              break;
          }
        temp=temp/10;  
     }
    if(f==0) 
   { 
     while(n!=0)
     {
          r=n%10;
          dn=dn+r*base;
          base=base*8;
          n=n/10;
     }
       n=dn;
      int ar[50],i=0,r;
       while(n!=0)
       {
           r=n%16;
           ar[i]=r;
           i++;
           n=n/16;
       }
       i--;
       printf("\n HexaDecimal no is: ");
       while(i>=0)
       {
          switch(ar[i])
          {
            case 10:printf("A");break;
            case 11:printf("B"); break;
            case 12:printf("C");break;
            case 13:printf("D");break;
            case 14:printf("E");break;
            case 15:printf("F");break;
            default:printf("%d",ar[i]);
          }
           i--;
       }

   }

}
//Defination of decimal to binary
void dtobin()
{
      int n,ar[50],i=0,r;
       printf("\n Enter a decimal no:");
       scanf("%d",&n);
       while(n!=0)
       {
           r=n%2;
           ar[i]=r;
           i++;
           n=n/2;
       }
       i--;
       printf("\n Binary no is: ");
       while(i>=0)
       {
          printf("%d",ar[i]);
          i--;
       }
}
//Defination of decimal to octal
void dtooct()
{
    int n,ar[50],i=0,r;
   printf("\n Enter a decimal no:");
       scanf("%d",&n);
       while(n!=0)
       {
           r=n%8;
           ar[i]=r;
           i++;
           n=n/8;
       }
       i--;
       printf("\n Octal no is: ");
       while(i>=0)
       {
          printf("%d",ar[i]);
          i--;
       }

}
//Defination of decimal to hexadecimal
void dtohexa()
{
    int n,ar[50],i=0,r;
      printf("\n Enter a decimal no:");
       scanf("%d",&n);
       while(n!=0)
       {
           r=n%16;
           ar[i]=r;
           i++;
           n=n/16;
       }
       i--;
       printf("\n HexaDecimal no is: ");
       while(i>=0)
       {
          switch(ar[i])
          {
            case 10:printf("A");break;
            case 11:printf("B"); break;
            case 12:printf("C");break;
            case 13:printf("D");break;
            case 14:printf("E");break;
            case 15:printf("F");break;
            default:printf("%d",ar[i]);
          }
           i--;
       }

}
//Defination of binary decimal 
void bintodec()
{
     int n,dn=0,r,base=1;
     printf("\n Enter a binary number (only 0 and 1) : ");
     scanf("%d",&n);
     while(n!=0)
     {
          r=n%10;
          dn=dn+r*base;
          base=base*2;
          n=n/10;
     }
     printf("\nDecima No is: %d",dn);
}
//Defination of binary octal 
void bintooct()
{
    int n,dn=0,r,base=1,ar[50],i=0;
     printf("\n Enter a binary number (only 0 and 1) : ");
     scanf("%d",&n);
     // Coversion of binary to decimal
     while(n!=0)
     {
          r=n%10;
          dn=dn+r*base;
          base=base*2;
          n=n/10;
     }
     // Coversion of  decimal to octal
     while(dn!=0)
     {
          r=dn%8;
          ar[i]=r;
          i++;
          dn=dn/8;
     }
        i--;
     printf("\n Octal No is :");
     while(i>=0)
     {
          printf("%d",ar[i]);
          i--;
     }
}
//Defination of binary hexadecimal 
void bintohexa()
{
 int n,dn=0,r,base=1,ar[50],i=0;
     printf("\n Enter a binary number (only 0 and 1) : ");
     scanf("%d",&n);
     // Coversion of binary to decimal
     while(n!=0)
     {
          r=n%10;
          dn=dn+r*base;
          base=base*2;
          n=n/10;
     }
     // Coversion of decimal to Hexadecimal
     while(dn!=0)
     {
          r=dn%16;
          ar[i]=r;
          dn=dn/16;
          i++;
     }
     i--;
     printf("\n Hexa decimal no is: ");
     while(i>=0)
     {
          switch(ar[i])
          {
            case 10:printf("A");break;
            case 11:printf("B");break;
            case 12:printf("C");break;
            case 13:printf("D");break;
            case 14:printf("E");break;
            case 15:printf("F");break;
            default:printf("%d",ar[i]);
          }
          i--;
     }
}

 

We work very hard to provide you quality material
Could you take 15 seconds and share your happy experience on Google

courses

DataFlair Team

DataFlair Team provides high-impact content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. We make complex concepts easy to grasp, helping learners of all levels succeed in their tech careers.

Leave a Reply

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