Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.08 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. void hex_to_oct()
  5. {
  6.     char hex[8]; //Je¿eli limitem jest 75174, to wiêcej ni¿ 5 nie trzeba
  7.  
  8.     int len;
  9.     scanf("%s",hex);
  10.     char bin[strlen(hex)*4];
  11.     char oct[strlen(hex)*2];
  12.     for(int i=0; i<strlen(hex);i++)
  13.     {
  14.         switch(hex[i]){
  15.             case '0':
  16.                 bin[4*i+0]='0';
  17.                 bin[4*i+1]='0';
  18.                 bin[4*i+2]='0';
  19.                 bin[4*i+3]='0';
  20.                 break;
  21.            case '1':
  22.                 bin[4*i+0]='0';
  23.                 bin[4*i+1]='0';
  24.                 bin[4*i+2]='0';
  25.                 bin[4*i+3]='1';
  26.                 break;
  27.             case '2':
  28.                 bin[4*i+0]='0';
  29.                 bin[4*i+1]='0';
  30.                 bin[4*i+2]='1';
  31.                 bin[4*i+3]='0';
  32.                 break;
  33.             case '3':
  34.                 bin[4*i+0]='0';
  35.                 bin[4*i+1]='0';
  36.                 bin[4*i+2]='1';
  37.                 bin[4*i+3]='1';
  38.                 break;
  39.             case '4':
  40.                 bin[4*i+0]='0';
  41.                 bin[4*i+1]='1';
  42.                 bin[4*i+2]='0';
  43.                 bin[4*i+3]='0';
  44.                 break;
  45.             case '5':
  46.                 bin[4*i+0]='0';
  47.                 bin[4*i+1]='1';
  48.                 bin[4*i+2]='0';
  49.                 bin[4*i+3]='1';
  50.                 break;
  51.             case '6':
  52.                 bin[4*i+0]='0';
  53.                 bin[4*i+1]='1';
  54.                 bin[4*i+2]='1';
  55.                 bin[4*i+3]='0';
  56.                 break;
  57.             case '7':
  58.                 bin[4*i+0]='0';
  59.                 bin[4*i+1]='1';
  60.                 bin[4*i+2]='1';
  61.                 bin[4*i+3]='1';
  62.                 break;
  63.             case '8':
  64.                 bin[4*i+0]='1';
  65.                 bin[4*i+1]='0';
  66.                 bin[4*i+2]='0';
  67.                 bin[4*i+3]='0';
  68.                 break;
  69.             case '9':
  70.                 bin[4*i+0]='1';
  71.                 bin[4*i+1]='0';
  72.                 bin[4*i+2]='0';
  73.                 bin[4*i+3]='1';
  74.                 break;
  75.             case 'A':
  76.             case 'a':
  77.                 bin[4*i+0]='1';
  78.                 bin[4*i+1]='0';
  79.                 bin[4*i+2]='1';
  80.                 bin[4*i+3]='0';
  81.                 break;
  82.             case 'B':
  83.             case 'b':
  84.                 bin[4*i+0]='1';
  85.                 bin[4*i+1]='0';
  86.                 bin[4*i+2]='1';
  87.                 bin[4*i+3]='1';
  88.                 break;
  89.             case 'C':
  90.             case 'c':
  91.                 bin[4*i+0]='1';
  92.                 bin[4*i+1]='1';
  93.                 bin[4*i+2]='0';
  94.                 bin[4*i+3]='0';
  95.                 break;
  96.             case 'D':
  97.             case 'd':
  98.                 bin[4*i+0]='1';
  99.                 bin[4*i+1]='1';
  100.                 bin[4*i+2]='0';
  101.                 bin[4*i+3]='1';
  102.                 break;
  103.             case 'E':
  104.             case 'e':
  105.                 bin[4*i+0]='1';
  106.                 bin[4*i+1]='1';
  107.                 bin[4*i+2]='1';
  108.                 bin[4*i+3]='0';
  109.                 break;
  110.             case 'F':
  111.             case 'f':
  112.                 bin[4*i+0]='1';
  113.                 bin[4*i+1]='1';
  114.                 bin[4*i+2]='1';
  115.                 bin[4*i+3]='1';
  116.                 break;
  117.             default:
  118.                 printf("\nNieprawidlowa liczba");
  119.                 return;
  120.                 break;
  121.         }
  122.         len = strlen(bin);
  123.         printf("%d\n", len);
  124.     }
  125.  
  126.     for(int i=0; i<strlen(bin)-3; i++)
  127.         printf("%c", bin[i]);
  128.     printf("\n");
  129.     fflush(stdin);
  130.     return;
  131. }
  132.  
  133. void oct_to_hex()
  134. {
  135.  
  136. }
  137.  
  138. int main()
  139. {
  140.     char instrukcja;
  141.  
  142.     while(11){
  143.     printf("Dostepne opcje:\n1. Z szesnastkowego na osemkowy,\n2. Z osemkowego na szesnastkowy,\n3. Wyjscie z programu.\nPodaj numer opcji:");
  144.     scanf("%c", &instrukcja);
  145.  
  146.     switch(instrukcja){
  147.         case '1': hex_to_oct();break;
  148.         case '2': oct_to_hex();break;
  149.         case '3': return 0;
  150.         default: printf("Wpisano nieprawid³owe polecenie. Prosze wybrac jeszczcze raz.\n\n");break;
  151.         }
  152.     fflush(stdin);
  153.     };
  154. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement