Advertisement
Radoan_Ahmed

Untitled

Aug 18th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.19 KB | None | 0 0
  1. #include<stdio.h>
  2. void decimal_binary(int c)
  3. {
  4.  
  5.     int count=0,i=0,arr[1000];
  6.     while(c!=0)
  7.     {
  8.         arr[i]=c%2;
  9.         count+=1;
  10.         c=c/2;
  11.         i++;
  12.     }
  13.     for(i=count-1; i>=0; i--)
  14.     {
  15.         printf("%d",arr[i]);
  16.  
  17.     }
  18.  
  19. }
  20. void decimal_octal(int c)
  21. {
  22.  
  23.     int count=0,i=0,arr[1000];
  24.     while(c!=0)
  25.     {
  26.         arr[i]=c%8;
  27.         count+=1;
  28.         c=c/8;
  29.         i++;
  30.     }
  31.     for(i=count-1; i>=0; i--)
  32.     {
  33.         printf("%d",arr[i]);
  34.  
  35.     }
  36.  
  37. }
  38. void decimal_hexa(int a)
  39. {
  40.     int  i=0,count=0,arr[1000];
  41.     while(a!=0)
  42.     {
  43.         arr[i]=a%16;
  44.         count+=1;
  45.         a=a/16;
  46.         if(arr[i]<10)
  47.         {
  48.             arr[i]=48+arr[i];
  49.         }
  50.         else if(arr[i]>=10)
  51.         {
  52.             arr[i]=55+arr[i];
  53.         }
  54.         i++;
  55.  
  56.     }
  57.     for(i=count-1; i>=0; i--)
  58.     {
  59.         printf("%c",arr[i]);
  60.     }
  61.  
  62. }
  63. int  bin_decimal(int c)
  64. {
  65.     int temp=0,i=0,mod;
  66.     while(c!=0)
  67.     {
  68.         mod=c%10;
  69.         temp=temp+mod*pow(2,i);
  70.         c=c/10;
  71.         i++;
  72.     }
  73.     return temp;
  74. }
  75. int  octaldecimal(int c)
  76. {
  77.     int temp=0,i=0,mod;
  78.     while(c!=0)
  79.     {
  80.         mod=c%10;
  81.         temp=temp+mod*pow(8,i);
  82.         c=c/10;
  83.         i++;
  84.     }
  85.     return temp;
  86. }
  87. int hexadecimal_decimal(char hex[100])
  88. {
  89.     int i = 0, val,decimal,len;
  90.     decimal = 0;
  91.     len = strlen(hex);
  92.     len--;
  93.     for(i=0; hex[i]!='\0'; i++)
  94.     {
  95.         if(hex[i]>='0' && hex[i]<='9')
  96.         {
  97.             val = hex[i] - 48;
  98.         }
  99.         else if(hex[i]>='a' && hex[i]<='f')
  100.         {
  101.             val = hex[i] - 97 + 10;
  102.         }
  103.         else if(hex[i]>='A' && hex[i]<='F')
  104.         {
  105.             val = hex[i] - 65 + 10;
  106.         }
  107.  
  108.         decimal += val * pow(16, len);
  109.         len--;
  110.  
  111.     }
  112.     return decimal;
  113.  
  114. }
  115.  
  116. int main()
  117. {
  118.     FILE *file;
  119.     char str[1000];
  120.     int a,c,x,k,b,arr[1000],count,i,arr1[1000],arr2[1000],h;
  121.     file = fopen("run.txt","a");
  122.     printf("Select operator \n");
  123.     printf("1. DIC\n");
  124.     printf("2. BIN\n");
  125.     printf("3. OCT\n");
  126.     printf("4. HEX\n");
  127.     printf("5. CONTINUE\n");
  128.     printf("6. EXIT\n");
  129.     point:
  130.     scanf("%d",&a);
  131.     if(a==1)
  132.     {
  133.         printf("DIC ");
  134.         scanf("%d",&c);
  135.         fprintf(file,"DIC %d\n",c);
  136.         k=c;
  137.         i=count=0;
  138.         while(c!=0)
  139.     {
  140.         arr[i]=c%2;
  141.         count+=1;
  142.         c=c/2;
  143.         i++;
  144.     }
  145.     fprintf(file,"BIN ");
  146.     printf("BIN ");
  147.     for(i=count-1; i>=0; i--)
  148.     {
  149.         printf("%d",arr[i]);
  150.          fprintf(file,"%d",arr[i]);
  151.  
  152.     }
  153.     i=count=0;
  154.     h=k;
  155.     while(k!=0)
  156.     {
  157.         arr1[i]=k%8;
  158.         count+=1;
  159.         k=k/8;
  160.         i++;
  161.     }
  162.      fprintf(file,"\nOCT ");
  163.     printf("\nOCT ");
  164.     for(i=count-1; i>=0; i--)
  165.     {
  166.         printf("%d",arr1[i]);
  167.         fprintf(file,"%d",arr1[i]);
  168.  
  169.     }
  170.     i=count=0;
  171.      while(h!=0)
  172.     {
  173.         arr2[i]=h%16;
  174.         count+=1;
  175.         h=h/16;
  176.         if(arr2[i]<10)
  177.         {
  178.             arr2[i]=48+arr2[i];
  179.         }
  180.         else if(arr2[i]>=10)
  181.         {
  182.             arr2[i]=55+arr2[i];
  183.         }
  184.         i++;
  185.  
  186.     }
  187.     fprintf(file,"\nHEX ");
  188.     printf("\nHEX ");
  189.     for(i=count-1; i>=0; i--)
  190.     {
  191.         printf("%c",arr2[i]);
  192.         fprintf(file,"%c",arr2[i]);
  193.     }
  194.  
  195.     }
  196.  
  197.     else if(a==2)
  198.     {
  199.  
  200.         printf("BIN ");
  201.         scanf("%d",&c);
  202.         fprintf(file,"\nBIN %d",c);
  203.         x=bin_decimal(c);
  204.         k=x;
  205.         fprintf(file,"\nDIC %d",x);
  206.         printf("DIC %d",x);
  207.         fprintf(file,"\nOCT ");
  208.         printf("\nOCT ");
  209.         int count=0,i=0,arr[1000];
  210.         while(x!=0)
  211.         {
  212.             arr[i]=x%8;
  213.             count+=1;
  214.             x=x/8;
  215.             i++;
  216.         }
  217.         for(i=count-1; i>=0; i--)
  218.         {
  219.              printf("%d",arr[i]);
  220.              fprintf(file,"%d",arr[i]);
  221.  
  222.         }
  223.             i=count=0;
  224.      while(k!=0)
  225.     {
  226.         arr2[i]=k%16;
  227.         count+=1;
  228.         k=k/16;
  229.         if(arr2[i]<10)
  230.         {
  231.             arr2[i]=48+arr2[i];
  232.         }
  233.         else if(arr2[i]>=10)
  234.         {
  235.             arr2[i]=55+arr2[i];
  236.         }
  237.         i++;
  238.  
  239.     }
  240.     fprintf(file,"\nHEX ");
  241.     printf("\nHEX ");
  242.     for(i=count-1; i>=0; i--)
  243.     {
  244.         printf("%c",arr2[i]);
  245.         fprintf(file,"%c",arr2[i]);
  246.     }
  247.     }
  248.     else if(a==3)
  249.     {
  250.         fprintf(file,"\nOCT ");
  251.          printf("OCT ");
  252.         scanf("%d",&c);
  253.         x=octaldecimal(c);
  254.         printf("DIC %d",x);
  255.         fprintf(file,"\nDIC %d",x);
  256.         k=x;
  257.          i=count=0;
  258.         while(x!=0)
  259.     {
  260.         arr[i]=x%2;
  261.         count+=1;
  262.         x=x/2;
  263.         i++;
  264.     }
  265.     fprintf(file,"\nBIN ");
  266.     printf("\nBIN ");
  267.     for(i=count-1; i>=0; i--)
  268.     {
  269.         printf("%d",arr[i]);
  270.         fprintf(file,"%d",arr[i]);
  271.  
  272.     }
  273.                i=count=0;
  274.      while(k!=0)
  275.     {
  276.         arr2[i]=k%16;
  277.         count+=1;
  278.         k=k/16;
  279.         if(arr2[i]<10)
  280.         {
  281.             arr2[i]=48+arr2[i];
  282.         }
  283.         else if(arr2[i]>=10)
  284.         {
  285.             arr2[i]=55+arr2[i];
  286.         }
  287.         i++;
  288.  
  289.     }
  290.     fprintf(file,"\nHEX ");
  291.     printf("\nHEX ");
  292.     for(i=count-1; i>=0; i--)
  293.     {
  294.         printf("%c",arr2[i]);
  295.         fprintf(file,"%c",arr2[i]);
  296.     }
  297.     }
  298.     else if(a==4)
  299.     {
  300.         fprintf(file,"HEX ");
  301.         printf("HEX ");
  302.         scanf("%s",str);
  303.         x=hexadecimal_decimal(str);
  304.         printf("DIC %d",x);
  305.         fprintf(file,"\nDIC %d",x);
  306.         k=x;
  307.         i=count=0;
  308.     while(x!=0)
  309.     {
  310.         arr1[i]=x%8;
  311.         count+=1;
  312.         x=x/8;
  313.         i++;
  314.     }
  315.     fprintf(file,"\nOCT ");
  316.     printf("\nOCT ");
  317.     for(i=count-1; i>=0; i--)
  318.     {
  319.         printf("%d",arr1[i]);
  320.         fprintf(file,"%d",arr1[i]);
  321.  
  322.     }
  323.         i=count=0;
  324.         while(k!=0)
  325.     {
  326.         arr[i]=k%2;
  327.         count+=1;
  328.         k=k/2;
  329.         i++;
  330.     }
  331.     fprintf(file,"\nBIN ");
  332.     printf("\nBIN ");
  333.     for(i=count-1; i>=0; i--)
  334.     {
  335.         fprintf(file,"%d",arr[i]);
  336.         printf("%d",arr[i]);
  337.  
  338.     }
  339.     }
  340.     scanf("%d",&b);
  341.     if(b==5)
  342.     {
  343.         goto point;
  344.     }
  345.     fclose(file);
  346.  
  347. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement