Guest User

Untitled

a guest
Jun 3rd, 2018
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     while( getline(inputss, input, ' ') ){
  2.         char *charPointer = new char[input.length()]; //a character pointer used to make the transition from string to character
  3.     strcpy ( charPointer,input.c_str() );
  4.         if ( isalpha(*charPointer) || isdigit(*charPointer) )
  5.         cout << charPointer;
  6.        else if ( (*charPointer == '('))
  7.         operatorStack.push(*charPointer);
  8.        else if ( (*charPointer == ')')){
  9.         while (!operatorStack.empty() && operatorStack.top() != '(') {
  10.             cout << operatorStack.top();
  11.             operatorStack.pop();
  12.            }
  13.         if ( !operatorStack.empty() )
  14.         operatorStack.pop();
  15.         else {
  16.         cout << "Error incorrect input format, missing ')' " << endl;
  17.         return 0;
  18.         }
  19.     }    
  20.     else if ((!operatorStack.empty()) || (precidence(operatorStack.top())) < (precidence(*charPointer))) //empty stack has lowest precidence.
  21.         operatorStack.push(*charPointer);
  22.        else if ((precidence(operatorStack.top())) >= (precidence(*charPointer))) {
  23.         while (!operatorStack.empty() && (precidence(operatorStack.top())) >= precidence(*charPointer)){
  24.             cout << charPointer;
  25.         operatorStack.pop();
  26.         }
  27.         operatorStack.push(*charPointer);
  28.     }
  29.     else
  30.         cout << "Error, incorrect input. Exiting Program." << endl;
  31.    }// end of while loop
Add Comment
Please, Sign In to add comment