Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- //enter to 13
- using namespace std;
- int zamiana(int liczba){
- return liczba-48;
- }
- void podaj_bin(int *binarka){ //Podaje liczbe w binarce, funckja zwraca tablice[32]}
- int bufor[32];
- int dlugosc=0;
- bool on=true;
- cout << "Podaj teraz swoja liczbe, pamietaj, tylko 0 i 1, nacisnij enter zeby zakonczyc wpisywanie, najwiekszy rozmiar to 32 cyfry" << endl;
- for(int i=0; i<32; i++){
- if(on){
- switch(getch()){
- case 48:
- bufor[i]=0;
- cout << "0";
- dlugosc++;
- break;
- case 49:
- bufor[i]=1;
- cout << "1";
- dlugosc++;
- break;
- case 13:
- cout << "|||";
- on=false;
- break;
- }
- }
- }
- for(int i=0;i<32-dlugosc;i++){
- *(binarka+i)=0;
- }
- for(int i=0; i<dlugosc;i++){
- *(binarka+i+32-dlugosc)=bufor[i];
- }
- }
- void podaj_czw(int *binarka){
- int bufor[16];
- int dlugosc=0;
- bool on=true;
- cout << "Podaj teraz swoja liczbe, pamietaj, tylko 0, 1, 2 i 3 nacisnij enter zeby zakonczyc wpisywanie, najwiekszy rozmiar to 16 cyfr" << endl;
- for(int i=0; i<16; i++){
- if(on){
- switch(getch()){
- case 48:
- bufor[i]=0;
- cout << "0";
- dlugosc++;
- break;
- case 49:
- bufor[i]=1;
- cout << "1";
- dlugosc++;
- break;
- case 50:
- bufor[i]=2;
- cout << "2";
- dlugosc++;
- break;
- case 51:
- bufor[i]=3;
- cout << "3";
- dlugosc++;
- break;
- case 13:
- cout << "|||";
- on=false;
- break;
- }
- }
- }
- for(int i=0;i<32;i++){
- *(binarka+i)=0;
- }
- for(int i=0;i<dlugosc;i++){
- if(bufor[i]=0){
- continue;
- }
- else if(bufor[i]=1){
- *(binarka+i*2+((16-dlugosc)*2))=0;
- *(binarka+i*2+1+((16-dlugosc)*2))=1;
- }
- else if(bufor[i]=2){
- *(binarka+i*2+((16-dlugosc)*2))=1;
- *(binarka+i*2+1+((16-dlugosc)*2))=0;
- }
- else if(bufor[i]=3){
- *(binarka+i*2+((16-dlugosc)*2))=1;
- *(binarka+i*2+1+((16-dlugosc)*2))=1;
- }
- }
- }
- void podaj_oct(int *binarka){
- int bufor[10];
- int dlugosc=0;
- bool on=true;
- 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;
- for(int i=0; i<10; i++){
- if(on){
- switch(getch()){
- case 48:
- bufor[i]=0;
- cout << "0";
- dlugosc++;
- break;
- case 49:
- bufor[i]=1;
- cout << "1";
- dlugosc++;
- break;
- case 50:
- bufor[i]=2;
- cout << "2";
- dlugosc++;
- break;
- case 51:
- bufor[i]=3;
- cout << "3";
- dlugosc++;
- break;
- case 52:
- bufor[i]=4;
- cout << "4";
- dlugosc++;
- break;
- case 53:
- bufor[i]=5;
- cout << "5";
- dlugosc++;
- break;
- case 54:
- bufor[i]=6;
- cout << "6";
- dlugosc++;
- break;
- case 55:
- bufor[i]=7;
- cout << "1";
- dlugosc++;
- break;
- case 13:
- cout << "|||";
- on=false;
- break;
- }
- }
- }
- for(int i=0;i<32;i++){
- *(binarka+i)=0;
- }
- for(int i=0;i<dlugosc;i++){
- if(bufor[i]=0){
- continue;
- }
- else if(bufor[i]=1){
- *(binarka+i*3+((dlugosc)*3))=0;
- *(binarka+i*3+1+((dlugosc)*3))=0;
- *(binarka+i*3+2+((dlugosc)*3))=1;
- }
- else if(bufor[i]=2){
- *(binarka+i*3+((dlugosc)*3))=0;
- *(binarka+i*3+1+((dlugosc)*3))=1;
- *(binarka+i*3+2+((dlugosc)*3))=0;
- }
- else if(bufor[i]=3){
- *(binarka+i*3+((dlugosc)*3))=0;
- *(binarka+i*3+1+((dlugosc)*3))=1;
- *(binarka+i*3+2+((dlugosc)*3))=1;
- }
- else if(bufor[i]=4){
- *(binarka+i*3+((dlugosc)*3))=1;
- *(binarka+i*3+1+((dlugosc)*3))=0;
- *(binarka+i*3+2+((dlugosc)*3))=0;
- }
- else if(bufor[i]=5){
- *(binarka+i*3+((dlugosc)*3))=1;
- *(binarka+i*3+1+((dlugosc)*3))=0;
- *(binarka+i*3+2+((dlugosc)*3))=1;
- }
- else if(bufor[i]=6){
- *(binarka+i*3+((dlugosc)*3))=1;
- *(binarka+i*3+1+((dlugosc)*3))=1;
- *(binarka+i*3+2+((dlugosc)*3))=0;
- }
- else if(bufor[i]=7){
- *(binarka+i*3+((dlugosc)*3))=1;
- *(binarka+i*3+1+((dlugosc)*3))=1;
- *(binarka+i*3+2+((dlugosc)*3))=1;
- }
- }
- }
- int main()
- {
- int binarna[32];
- int *wsk_bin=&binarna[0];
- bool on=true;
- while(on){
- 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;
- switch(zamiana(getch())){
- case 1:
- podaj_bin(wsk_bin);
- on=false;
- break;
- case 2:
- podaj_czw(wsk_bin);
- on=false;
- break;
- case 3:
- podaj_oct(wsk_bin);
- on=false;
- break;
- case 4:
- on=false;
- break;
- case 5:
- on=false;
- break;
- case 6:
- on=false;
- break;
- default:
- cout << "\n Nie ma takiej opcji. \n";
- }
- }
- cout << endl << "Liczba to ";
- for(int i=0;i<32;i++){
- cout << binarna[i];
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement