Advertisement
Guest User

Untitled

a guest
Jan 26th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <windows.h>
  3. int main()
  4. {
  5. int wybor;
  6. printf("Witaj w programie do zamiany liczb! \n");
  7. printf("Wybierz: \n");
  8. printf("1.dziesietny->binarny \n");
  9. printf("2.binarny->dziesietny \n");
  10. printf("Cokolwiek innego = wyjscie \n");
  11. printf("Wybor:");
  12. scanf("%d", &wybor);
  13. switch(wybor)
  14. {
  15. case 1:dziesietny_binarny();
  16. break;
  17. case 2:binarny_dziesietny();
  18. break;
  19. default : printf("zamykamy program");
  20. break;
  21. }
  22. }
  23. int dziesietny_binarny()
  24. {
  25. int liczba;
  26. char system_binarny[100]="";
  27. int i=0,j;
  28. printf("Podaj liczbe do zamiany:");
  29. scanf("%d",&liczba);
  30. while(liczba != 0)
  31. {
  32. if(liczba%2==0)
  33. {
  34. system_binarny[i] = '0';
  35. }
  36. else if(liczba%2==1)
  37. {
  38. system_binarny[i]='1';
  39. }
  40. liczba=liczba/2;
  41. i++;
  42. }
  43. for(j=strlen(system_binarny)-1;j>=0;j--) //strlen oblicza długość łańcucha
  44. {
  45. printf("%c",system_binarny[j]);
  46. }
  47.  
  48. return 0;
  49. }
  50. int binarny_dziesietny()
  51. {
  52. int liczba2=0;
  53. printf("binarny->dziesietny \n \n");
  54. printf("Podaj liczbe do zamiany:");
  55. scanf("%d",&liczba2);
  56. int decymalna=0,waga=1,reszta=0;
  57. while(liczba2!=0)
  58. {
  59. if(liczba2%10==1||liczba2%10==0)
  60. {
  61. reszta=liczba2%10;
  62. decymalna=decymalna+reszta*waga;
  63. liczba2=liczba2/10;
  64. waga=waga*2;
  65. }
  66. else
  67. {
  68. return 1;
  69. }
  70. }
  71. printf("%d", decymalna);
  72.  
  73. return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement