Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.43 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3.  
  4. //enter to 13
  5.  
  6. using namespace std;
  7.  
  8. int zamiana(int liczba){
  9.     return liczba-48;
  10. }
  11.  
  12. void podaj_bin(int *binarka){    //Podaje liczbe w binarce, funckja zwraca tablice[32]}
  13.     int bufor[32];
  14.     int dlugosc=0;
  15.     bool on=true;
  16.     cout << "Podaj teraz swoja liczbe, pamietaj, tylko 0 i 1, nacisnij enter zeby zakonczyc wpisywanie, najwiekszy rozmiar to 32 cyfry" << endl;
  17.         for(int i=0; i<32; i++){
  18.             if(on){
  19.                 switch(getch()){
  20.                     case 48:
  21.                         bufor[i]=0;
  22.                         cout << "0";
  23.                         dlugosc++;
  24.                         break;
  25.                     case 49:
  26.                         bufor[i]=1;
  27.                         cout << "1";
  28.                         dlugosc++;
  29.                         break;
  30.                     case 13:
  31.                         cout << "|||";
  32.                         on=false;
  33.                         break;
  34.                 }
  35.             }
  36.         }
  37.     for(int i=0;i<32-dlugosc;i++){
  38.             *(binarka+i)=0;
  39.     }
  40.     for(int i=0; i<dlugosc;i++){
  41.         *(binarka+i+32-dlugosc)=bufor[i];
  42.     }
  43. }
  44.  
  45. void podaj_czw(int *binarka){
  46.     int bufor[16];
  47.     int dlugosc=0;
  48.     bool on=true;
  49.     cout << "Podaj teraz swoja liczbe, pamietaj, tylko 0, 1, 2 i 3 nacisnij enter zeby zakonczyc wpisywanie, najwiekszy rozmiar to 16 cyfr" << endl;
  50.         for(int i=0; i<16; i++){
  51.             if(on){
  52.                 switch(getch()){
  53.                     case 48:
  54.                         bufor[i]=0;
  55.                         cout << "0";
  56.                         dlugosc++;
  57.                         break;
  58.                     case 49:
  59.                         bufor[i]=1;
  60.                         cout << "1";
  61.                         dlugosc++;
  62.                         break;
  63.                     case 50:
  64.                         bufor[i]=2;
  65.                         cout << "2";
  66.                         dlugosc++;
  67.                         break;
  68.                     case 51:
  69.                         bufor[i]=3;
  70.                         cout << "3";
  71.                         dlugosc++;
  72.                         break;
  73.                     case 13:
  74.                         cout << "|||";
  75.                         on=false;
  76.                         break;
  77.                 }
  78.             }
  79.         }
  80.         for(int i=0;i<32;i++){
  81.             *(binarka+i)=0;
  82.         }
  83.         for(int i=0;i<dlugosc;i++){
  84.             if(bufor[i]=0){
  85.                 continue;
  86.             }
  87.             else if(bufor[i]=1){
  88.                 *(binarka+i*2+((16-dlugosc)*2))=0;
  89.                 *(binarka+i*2+1+((16-dlugosc)*2))=1;
  90.             }
  91.             else if(bufor[i]=2){
  92.                 *(binarka+i*2+((16-dlugosc)*2))=1;
  93.                 *(binarka+i*2+1+((16-dlugosc)*2))=0;
  94.             }
  95.             else if(bufor[i]=3){
  96.                 *(binarka+i*2+((16-dlugosc)*2))=1;
  97.                 *(binarka+i*2+1+((16-dlugosc)*2))=1;
  98.             }
  99.         }
  100. }
  101.  
  102. void podaj_oct(int *binarka){
  103.     int bufor[10];
  104.     int dlugosc=0;
  105.     bool on=true;
  106.     cout << "Podaj teraz swoja liczbe, pamietaj, tylko 0,1,2,3,4,5,6,7 nacisnij enter zeby zakonczyc wpisywanie, najwiekszy rozmiar to 10 cyfry" << endl;
  107.     for(int i=0; i<10; i++){
  108.             if(on){
  109.                 switch(getch()){
  110.                     case 48:
  111.                         bufor[i]=0;
  112.                         cout << "0";
  113.                         dlugosc++;
  114.                         break;
  115.                     case 49:
  116.                         bufor[i]=1;
  117.                         cout << "1";
  118.                         dlugosc++;
  119.                         break;
  120.                     case 50:
  121.                         bufor[i]=2;
  122.                         cout << "2";
  123.                         dlugosc++;
  124.                         break;
  125.                     case 51:
  126.                         bufor[i]=3;
  127.                         cout << "3";
  128.                         dlugosc++;
  129.                         break;
  130.                     case 52:
  131.                         bufor[i]=4;
  132.                         cout << "4";
  133.                         dlugosc++;
  134.                         break;
  135.                     case 53:
  136.                         bufor[i]=5;
  137.                         cout << "5";
  138.                         dlugosc++;
  139.                         break;
  140.                     case 54:
  141.                         bufor[i]=6;
  142.                         cout << "6";
  143.                         dlugosc++;
  144.                         break;
  145.                     case 55:
  146.                         bufor[i]=7;
  147.                         cout << "1";
  148.                         dlugosc++;
  149.                         break;
  150.                     case 13:
  151.                         cout << "|||";
  152.                         on=false;
  153.                         break;
  154.                 }
  155.             }
  156.         }
  157.     for(int i=0;i<32;i++){
  158.         *(binarka+i)=0;
  159.     }
  160.     for(int i=0;i<dlugosc;i++){
  161.             if(bufor[i]=0){
  162.                 continue;
  163.             }
  164.             else if(bufor[i]=1){
  165.                 *(binarka+i*3+((dlugosc)*3))=0;
  166.                 *(binarka+i*3+1+((dlugosc)*3))=0;
  167.                 *(binarka+i*3+2+((dlugosc)*3))=1;
  168.             }
  169.             else if(bufor[i]=2){
  170.                 *(binarka+i*3+((dlugosc)*3))=0;
  171.                 *(binarka+i*3+1+((dlugosc)*3))=1;
  172.                 *(binarka+i*3+2+((dlugosc)*3))=0;
  173.             }
  174.             else if(bufor[i]=3){
  175.                 *(binarka+i*3+((dlugosc)*3))=0;
  176.                 *(binarka+i*3+1+((dlugosc)*3))=1;
  177.                 *(binarka+i*3+2+((dlugosc)*3))=1;
  178.             }
  179.             else if(bufor[i]=4){
  180.                 *(binarka+i*3+((dlugosc)*3))=1;
  181.                 *(binarka+i*3+1+((dlugosc)*3))=0;
  182.                 *(binarka+i*3+2+((dlugosc)*3))=0;
  183.             }
  184.             else if(bufor[i]=5){
  185.                 *(binarka+i*3+((dlugosc)*3))=1;
  186.                 *(binarka+i*3+1+((dlugosc)*3))=0;
  187.                 *(binarka+i*3+2+((dlugosc)*3))=1;
  188.             }
  189.             else if(bufor[i]=6){
  190.                 *(binarka+i*3+((dlugosc)*3))=1;
  191.                 *(binarka+i*3+1+((dlugosc)*3))=1;
  192.                 *(binarka+i*3+2+((dlugosc)*3))=0;
  193.             }
  194.             else if(bufor[i]=7){
  195.                 *(binarka+i*3+((dlugosc)*3))=1;
  196.                 *(binarka+i*3+1+((dlugosc)*3))=1;
  197.                 *(binarka+i*3+2+((dlugosc)*3))=1;
  198.             }
  199.  
  200.     }
  201. }
  202.  
  203. int main()
  204. {
  205.     int binarna[32];
  206.     int *wsk_bin=&binarna[0];
  207.     bool on=true;
  208.     while(on){
  209.         cout << "W jakim formacie podajesz liczbe? \n 1. Binarnie \n 2. Czworkowo \n 3. Osemkowo \n 4. Dziesietnie \n 5. Szesnastkowo \n 6. Zakoncz program \n" << endl;
  210.         switch(zamiana(getch())){
  211.             case 1:
  212.                 podaj_bin(wsk_bin);
  213.                 on=false;
  214.                 break;
  215.             case 2:
  216.                 podaj_czw(wsk_bin);
  217.                 on=false;
  218.                 break;
  219.             case 3:
  220.                 podaj_oct(wsk_bin);
  221.                 on=false;
  222.                 break;
  223.             case 4:
  224.                 on=false;
  225.                 break;
  226.             case 5:
  227.                 on=false;
  228.                 break;
  229.             case 6:
  230.                 on=false;
  231.                 break;
  232.             default:
  233.                 cout << "\n Nie ma takiej opcji. \n";
  234.         }
  235.     }
  236.     cout << endl << "Liczba to ";
  237.     for(int i=0;i<32;i++){
  238.         cout << binarna[i];
  239.     }
  240.     return 0;
  241. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement