Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- void decimal_binary(int c)
- {
- int count=0,i=0,arr[1000];
- while(c!=0)
- {
- arr[i]=c%2;
- count+=1;
- c=c/2;
- i++;
- }
- for(i=count-1; i>=0; i--)
- {
- printf("%d",arr[i]);
- }
- }
- void decimal_octal(int c)
- {
- int count=0,i=0,arr[1000];
- while(c!=0)
- {
- arr[i]=c%8;
- count+=1;
- c=c/8;
- i++;
- }
- for(i=count-1; i>=0; i--)
- {
- printf("%d",arr[i]);
- }
- }
- void decimal_hexa(int a)
- {
- int i=0,count=0,arr[1000];
- while(a!=0)
- {
- arr[i]=a%16;
- count+=1;
- a=a/16;
- if(arr[i]<10)
- {
- arr[i]=48+arr[i];
- }
- else if(arr[i]>=10)
- {
- arr[i]=55+arr[i];
- }
- i++;
- }
- for(i=count-1; i>=0; i--)
- {
- printf("%c",arr[i]);
- }
- }
- int bin_decimal(int c)
- {
- int temp=0,i=0,mod;
- while(c!=0)
- {
- mod=c%10;
- temp=temp+mod*pow(2,i);
- c=c/10;
- i++;
- }
- return temp;
- }
- int octaldecimal(int c)
- {
- int temp=0,i=0,mod;
- while(c!=0)
- {
- mod=c%10;
- temp=temp+mod*pow(8,i);
- c=c/10;
- i++;
- }
- return temp;
- }
- int hexadecimal_decimal(char hex[100])
- {
- int i = 0, val,decimal,len;
- decimal = 0;
- len = strlen(hex);
- len--;
- for(i=0; hex[i]!='\0'; i++)
- {
- if(hex[i]>='0' && hex[i]<='9')
- {
- val = hex[i] - 48;
- }
- else if(hex[i]>='a' && hex[i]<='f')
- {
- val = hex[i] - 97 + 10;
- }
- else if(hex[i]>='A' && hex[i]<='F')
- {
- val = hex[i] - 65 + 10;
- }
- decimal += val * pow(16, len);
- len--;
- }
- return decimal;
- }
- int main()
- {
- FILE *file;
- char str[1000];
- int a,c,x,k,b,arr[1000],count,i,arr1[1000],arr2[1000],h;
- file = fopen("run.txt","a");
- printf("Select operator \n");
- printf("1. DIC\n");
- printf("2. BIN\n");
- printf("3. OCT\n");
- printf("4. HEX\n");
- printf("5. CONTINUE\n");
- printf("6. EXIT\n");
- point:
- scanf("%d",&a);
- if(a==1)
- {
- printf("DIC ");
- scanf("%d",&c);
- fprintf(file,"DIC %d\n",c);
- k=c;
- i=count=0;
- while(c!=0)
- {
- arr[i]=c%2;
- count+=1;
- c=c/2;
- i++;
- }
- fprintf(file,"BIN ");
- printf("BIN ");
- for(i=count-1; i>=0; i--)
- {
- printf("%d",arr[i]);
- fprintf(file,"%d",arr[i]);
- }
- i=count=0;
- h=k;
- while(k!=0)
- {
- arr1[i]=k%8;
- count+=1;
- k=k/8;
- i++;
- }
- fprintf(file,"\nOCT ");
- printf("\nOCT ");
- for(i=count-1; i>=0; i--)
- {
- printf("%d",arr1[i]);
- fprintf(file,"%d",arr1[i]);
- }
- i=count=0;
- while(h!=0)
- {
- arr2[i]=h%16;
- count+=1;
- h=h/16;
- if(arr2[i]<10)
- {
- arr2[i]=48+arr2[i];
- }
- else if(arr2[i]>=10)
- {
- arr2[i]=55+arr2[i];
- }
- i++;
- }
- fprintf(file,"\nHEX ");
- printf("\nHEX ");
- for(i=count-1; i>=0; i--)
- {
- printf("%c",arr2[i]);
- fprintf(file,"%c",arr2[i]);
- }
- }
- else if(a==2)
- {
- printf("BIN ");
- scanf("%d",&c);
- fprintf(file,"\nBIN %d",c);
- x=bin_decimal(c);
- k=x;
- fprintf(file,"\nDIC %d",x);
- printf("DIC %d",x);
- fprintf(file,"\nOCT ");
- printf("\nOCT ");
- int count=0,i=0,arr[1000];
- while(x!=0)
- {
- arr[i]=x%8;
- count+=1;
- x=x/8;
- i++;
- }
- for(i=count-1; i>=0; i--)
- {
- printf("%d",arr[i]);
- fprintf(file,"%d",arr[i]);
- }
- i=count=0;
- while(k!=0)
- {
- arr2[i]=k%16;
- count+=1;
- k=k/16;
- if(arr2[i]<10)
- {
- arr2[i]=48+arr2[i];
- }
- else if(arr2[i]>=10)
- {
- arr2[i]=55+arr2[i];
- }
- i++;
- }
- fprintf(file,"\nHEX ");
- printf("\nHEX ");
- for(i=count-1; i>=0; i--)
- {
- printf("%c",arr2[i]);
- fprintf(file,"%c",arr2[i]);
- }
- }
- else if(a==3)
- {
- fprintf(file,"\nOCT ");
- printf("OCT ");
- scanf("%d",&c);
- x=octaldecimal(c);
- printf("DIC %d",x);
- fprintf(file,"\nDIC %d",x);
- k=x;
- i=count=0;
- while(x!=0)
- {
- arr[i]=x%2;
- count+=1;
- x=x/2;
- i++;
- }
- fprintf(file,"\nBIN ");
- printf("\nBIN ");
- for(i=count-1; i>=0; i--)
- {
- printf("%d",arr[i]);
- fprintf(file,"%d",arr[i]);
- }
- i=count=0;
- while(k!=0)
- {
- arr2[i]=k%16;
- count+=1;
- k=k/16;
- if(arr2[i]<10)
- {
- arr2[i]=48+arr2[i];
- }
- else if(arr2[i]>=10)
- {
- arr2[i]=55+arr2[i];
- }
- i++;
- }
- fprintf(file,"\nHEX ");
- printf("\nHEX ");
- for(i=count-1; i>=0; i--)
- {
- printf("%c",arr2[i]);
- fprintf(file,"%c",arr2[i]);
- }
- }
- else if(a==4)
- {
- fprintf(file,"HEX ");
- printf("HEX ");
- scanf("%s",str);
- x=hexadecimal_decimal(str);
- printf("DIC %d",x);
- fprintf(file,"\nDIC %d",x);
- k=x;
- i=count=0;
- while(x!=0)
- {
- arr1[i]=x%8;
- count+=1;
- x=x/8;
- i++;
- }
- fprintf(file,"\nOCT ");
- printf("\nOCT ");
- for(i=count-1; i>=0; i--)
- {
- printf("%d",arr1[i]);
- fprintf(file,"%d",arr1[i]);
- }
- i=count=0;
- while(k!=0)
- {
- arr[i]=k%2;
- count+=1;
- k=k/2;
- i++;
- }
- fprintf(file,"\nBIN ");
- printf("\nBIN ");
- for(i=count-1; i>=0; i--)
- {
- fprintf(file,"%d",arr[i]);
- printf("%d",arr[i]);
- }
- }
- scanf("%d",&b);
- if(b==5)
- {
- goto point;
- }
- fclose(file);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement