Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. #include <iostream> #include <math.h> #include <sstream> #ifdef _WIN32
  2. void cls(){
  3. HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
  4. COORD coord = {0, 0};
  5. DWORD count;
  6. CONSOLE_SCREEN_BUFFER_INFO csbi;
  7. GetConsoleScreenBufferInfo(hStdOut, &csbi);
  8. FillConsoleOutputCharacter(hStdOut, ' ',
  9. csbi.dwSize.X * csbi.dwSize.Y,
  10. coord, &count);
  11. SetConsoleCursorPosition(hStdOut, coord);
  12. }
  13. #else
  14. void cls(){
  15. cout << "\f";
  16. }
  17. #endif
  18.  
  19.  
  20. using namespace std;
  21.  
  22. template <class T> inline string toString (const T& t){
  23. stringstream ss;
  24. ss << t;
  25. return ss.str();
  26. }
  27.  
  28. void printBin(int dec){
  29. int *bin;
  30. bin = (int *)malloc(sizeof(int));
  31. int d=0;
  32. while(dec!=0){
  33. bin[d] = dec%2;
  34. dec = (int)dec/2;
  35. d++;
  36. };
  37. for(int i=d-1;i>=0;i--){
  38. cout<<bin[i];
  39. }
  40. bin = NULL;
  41. cin.ignore(2);
  42. }
  43.  
  44. void printDec(int bina){
  45.  
  46. char bin[32];
  47. string temp = toString(bina);
  48. char *tempc;
  49. tempc = new char[temp.length() + 1];
  50. int d=(temp.length());
  51. for(int i = 0; i<d; i++){
  52. strcpy(tempc, temp.substr(i,1).c_str());
  53. bin[i] = *tempc;
  54. }
  55.  
  56. int binToDec = 0;
  57. int cnt = 0;
  58. for(int i=d-1; i>=0; i--){
  59. int b = (int)bin[i]-'0';
  60. binToDec += (int)b*pow(2.0,(double)cnt);
  61. cnt++;
  62. }
  63. cout<<binToDec<<endl;
  64. cin.ignore(2);
  65. }
  66.  
  67. int main(){
  68. bool stop = false;
  69. while(!stop){
  70. cls();
  71. int option = 5;
  72. cout<<"1:\tDec to Bin"<<endl;
  73. cout<<"2:\tBin to Dec"<<endl;
  74. cout<<"----------------"<<endl;
  75. cout<<"0:\texit\n"<<endl;
  76. cout<<"Option: ";
  77. cin>>option;
  78. switch(option){
  79. case 1:
  80. int dec;
  81. cout<<"\nDec to Bin: ";
  82. cin>>dec;
  83. printBin(dec);
  84. break;
  85. case 2:
  86. int bin;
  87. cout<<"\nBin to Dec: ";
  88. cin>>bin;
  89. printDec(bin);
  90. break;
  91. case 0:
  92. stop = true;
  93. break;
  94. default:
  95. break;
  96. }
  97. }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement