Advertisement
Guest User

Untitled

a guest
Apr 15th, 2021
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. #include<iostream>
  2. #include<string>
  3.  
  4. using namespace std;
  5.  
  6. string calculate(string num1, string num2, char opr, int base);
  7.  
  8. int main(){
  9.     string num1,num2;
  10.     char opr;
  11.     int base;
  12.     cin>>num1>>num2>>opr>>base;
  13.     cout<<endl<<calculate(num1,num2,opr,base);
  14. }
  15.  
  16. string calculate(string num1, string num2, char opr, int base){
  17.     int n1=stoi(num1),n2=stoi(num2),r1=0,r2=0;
  18.     char newbase[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
  19.    
  20.     for(int i=0;i<(num1.length());i++){
  21.         r1=r1+(n1%10);
  22.         n1/=10;
  23.     }
  24.     for(int i=0;i<(num2.length());i++){
  25.         r2=r2+(n2%10);
  26.         n2/=10;
  27.     }
  28.    
  29.     string result;    
  30.     switch(opr){
  31.     case '+':
  32.         result = r1+r2;
  33.         break;
  34.     case'-':
  35.         result=r1-r2;
  36.         break;
  37.     case'*':
  38.         result=r1*r2;
  39.         break;
  40.     }
  41.     int temp = 0;
  42.     int r=stoi(result);
  43.    
  44.     string out = "";
  45.    
  46.     while (r > 0)
  47.     {
  48.         temp = r % base;
  49.         out = newbase[temp] + out;
  50.         r = r / base;
  51.     }    
  52.     return to_string(temp);
  53.    
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement