Advertisement
Radoan_Ahmed

Untitled

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