Advertisement
Guest User

Untitled

a guest
May 3rd, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.17 KB | None | 0 0
  1. int Expression::Equals()
  2. {
  3.     int evaluator = 0;
  4.     int tmp = 0;
  5.     stack<int> num;
  6.     char op;
  7.    
  8.     for(int i = 0; i < postfix.size(); i++)
  9.     {
  10.         postfix[i].display();
  11.         if(postfix[i].get_type() == letter)
  12.         {
  13.             cout << "inside letter" << endl;
  14.             num.push(postfix[i].get_variable());
  15.         }
  16.         else if(postfix[i].get_type() == integer)
  17.         {
  18.             cout << "inside integer" << endl;
  19.             tmp = stoi(postfix[i].get_token());
  20.             num.push(tmp);
  21.         }
  22.         else if(postfix[i].get_type() == op)
  23.         {
  24.             cout << "inside op" << endl;       
  25.             evaluator = num.top();
  26.             cout << evaluator << endl;
  27.             num.pop();
  28.             if(postfix[i].get_token() == "+")
  29.             {
  30.                 evaluator += num.top();
  31.                 num.pop();
  32.             }
  33.             else if(postfix[i].get_token() == "-")
  34.             {
  35.                 evaluator -= num.top();
  36.                 num.pop();
  37.             }
  38.             else if(postfix[i].get_token() == "*")
  39.             {
  40.                 evaluator *= num.top();
  41.                 num.pop();
  42.             }
  43.             else if(postfix[i].get_token() == "/")
  44.             {
  45.                 evaluator /= num.top();
  46.                 num.pop();
  47.             }
  48.             else if(postfix[i].get_token() == "%")
  49.             {
  50.                 evaluator %= num.top();
  51.                 num.pop();
  52.             }
  53.             num.push(evaluator);
  54.         }
  55.         else
  56.             cout << "inside nothing" << endl;
  57.     }
  58.     return evaluator;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement