Advertisement
Guest User

Untitled

a guest
Nov 16th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <string.h>
  4. int main()
  5. {
  6.     printf("Program wykonuje konwersje miedzy dowolnymi systemami liczbowymi, z systemu dziesietnego i na system dziesietny.\n");
  7.     printf("Prosze postepowac zgodnie z instrukcjami i nie wpisywac innych wartosci niz wymagane.\nLICZBY CALKOWITE DODATNIE! MAX 16 BIT!\n");
  8.     printf("\nJezeli chcesz konwertowac z 10 na D (2-16) wpisz 1\n");
  9.     printf("Jezeli chcesz konwertowac z D (2-16) na 10 wpisz 0\n");
  10.     int D, S, L;
  11.     scanf("%d", &S);
  12.     if(S==1)
  13.     {
  14.         printf("Podaj D = ");
  15.         scanf("%d", &D);
  16.         printf("Podaj liczbe w systemie, ktory zostal wybrany = ");
  17.         int x;
  18.         scanf("%d", &x);
  19.         int  i=0, j, a=x;
  20.         char tab[16];
  21.         for(j=15;j>=0;j--)
  22.         {
  23.            tab[j]='-';
  24.         }
  25.         do
  26.         {
  27.             tab[i]=x%D;
  28.             x=x/D;
  29.             i++;
  30.         }
  31.         while(x>=1);
  32.         printf("Liczba %d(10) = ",a, D);
  33.         for(j=15;j>=0;j--)
  34.         {
  35.             if(tab[j]==10)
  36.             {
  37.                printf("A");
  38.             }
  39.             if(tab[j]==11)
  40.             {
  41.                printf("B");
  42.             }
  43.             if(tab[j]==12)
  44.             {
  45.                printf("C");
  46.             }
  47.             if(tab[j]==13)
  48.             {
  49.                printf("D");
  50.             }
  51.             if(tab[j]==14)
  52.             {
  53.                printf("E");
  54.             }
  55.             if(tab[j]==15)
  56.             {
  57.                printf("F");
  58.             }
  59.             if(tab[j]<10)
  60.             {
  61.                 printf("%d", tab[j]);
  62.             }
  63.         }
  64.         printf("(%d)", D);
  65.     }
  66.     else
  67.     {
  68.             printf("Podaj D\n");
  69.             scanf("%d", &D);
  70.             if(D<11)
  71.             {
  72.                 printf("Podaj liczbe w wybranym systemie = ");
  73.                 int x;
  74.                 scanf("%d", &x);
  75.                 int i=0, y=0, a=x;
  76.                 do
  77.                 {
  78.                     if(x%10>0)
  79.                     {
  80.                         y=y+(x%10)*(pow(D,i));
  81.                     }
  82.                     x=x/10;
  83.                     i++;
  84.                 }
  85.                 while(x>=1);
  86.                 if(D==5)
  87.                 {
  88.                     printf("Liczba %d(%d)=%d(10)", a, D, y+2);
  89.                 }
  90.                 else
  91.                 {
  92.                     printf("Liczba %d(%d)=%d(10)", a, D, y);
  93.                 }
  94.             }
  95.             else
  96.             {
  97.                 printf("Podaj ilosc cyfr/znakow z ktorej bedzie sie skladala liczba\n");
  98.                 scanf("%d", &L);
  99.                 printf("Podaj liczbe, po kazdym elemencie klikajac klawisz ENTER\n");
  100.                 printf("Wpisujac element wiekszy od 9, posluguj sie wielkimi literami czyli ABCDEF\n");
  101.                 int i=0, y=0, k, wynik=0;
  102.                 int tab2[200];
  103.                 for(k=0;k<L;k++)
  104.                 {
  105.                     char tab1[1];
  106.                     scanf("%s", &tab1);
  107.                     if(strcmp(tab1,"A")==0)
  108.                     {
  109.                         tab2[k]=10;
  110.                     }
  111.                     else if(strcmp(tab1,"B")==0)
  112.                     {
  113.                         tab2[k]=11;
  114.                     }
  115.                     else if(strcmp(tab1,"C")==0)
  116.                     {
  117.                         tab2[k]=12;
  118.                     }
  119.                     else if(strcmp(tab1,"D")==0)
  120.                     {
  121.                         tab2[k]=13;
  122.                     }
  123.                     else if(strcmp(tab1,"E")==0)
  124.                     {
  125.                         tab2[k]=14;
  126.                     }
  127.                     else if(strcmp(tab1,"F")==0)
  128.                     {
  129.                         tab2[k]=15;
  130.                     }
  131.                     else
  132.                     {
  133.                         tab2[k]=(char)tab1[0]-'0';
  134.                     }
  135.                     wynik=wynik+tab2[k]*(pow(D,L-k-1));
  136.                 }
  137.                 if(D==15)
  138.                 {
  139.                     printf("\nLiczba w (%d)=%d(10)", D, wynik+1);
  140.                 }
  141.                 else
  142.                 {
  143.                     printf("\nLiczba w (%d) = %d(10)", D, wynik);
  144.                 }
  145.             }
  146.     }
  147.     printf("\n\nProgram wykonal Pawel Paszkowski\n\n");
  148.     return 0;
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement