Guest User

3ta zadacha

a guest
Nov 15th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.43 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int HexToDec(char symbol);
  5. void DecToHexPrint(int result);
  6.  
  7. int main()
  8. {
  9.     char firstSymbol, secondSymbol, thirdSymbol;
  10.     cin >> firstSymbol >> secondSymbol >> thirdSymbol;
  11.  
  12.     switch (firstSymbol)
  13.     {
  14.     case '+': DecToHexPrint(HexToDec(secondSymbol) + HexToDec(thirdSymbol)); break;
  15.     case '-': DecToHexPrint(HexToDec(secondSymbol) - HexToDec(thirdSymbol)); break;
  16.     case '*': DecToHexPrint(HexToDec(secondSymbol) * HexToDec(thirdSymbol)); break;
  17.     case '/': DecToHexPrint(HexToDec(secondSymbol) / HexToDec(thirdSymbol)); break;
  18.     case '%': DecToHexPrint(HexToDec(secondSymbol) % HexToDec(thirdSymbol)); break;
  19.     default:
  20.         break;
  21.     }
  22.     return 0;
  23. }
  24.  
  25. int HexToDec(char symbol)
  26. {
  27.     switch (symbol)
  28.     {
  29.     case '0': return 0; break;
  30.     case '1': return 1; break;
  31.     case '2': return 2; break;
  32.     case '3': return 3; break;
  33.     case '4': return 4; break;
  34.     case '5': return 5; break;
  35.     case '6': return 6; break;
  36.     case '7': return 7; break;
  37.     case '8': return 8; break;
  38.     case '9': return 9; break;
  39.     case 'A': return 10; break;
  40.     case 'B': return 11; break;
  41.     case 'C': return 12; break;
  42.     case 'D': return 13; break;
  43.     case 'E': return 14; break;
  44.     case 'F': return 15; break;
  45.     default:
  46.         break;
  47.     }
  48. }
  49.  
  50. void DecToHexPrint(int result)
  51. {
  52.     if (result == 0)
  53.         return;
  54.  
  55.     int rem = result % 16;
  56.     result /= 16;
  57.     DecToHexPrint(result);
  58.  
  59.     if (rem > 9)
  60.         cout << (char)(rem - 10 + 'A');
  61.     else
  62.         cout << rem;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment