In c I need to write reverse postfix calculator using a stac


In c++, I need to write reverse postfix calculator using a stack. Postfix notation, and is parenthesis-free as long as operator arities are fixed.
Here is the program logic:
read in a string
while the string is not “stop”
if the string is +, pop the last 2 values from the stack and push back their sum
else if the string is *,pop the last 2 values from the stack and push back their
product
else if the string is -, pop the last 2 values from the stack and push back the second
– the first
else if the string is /, pop the last 2 values from the stack and push back the second
/ the first
else if string is =, print the top of the stack and pop the stack
else ( //the string is a number), convert to a double and push it on the stack;
read the next string
Here is some example input and output:

type in a postFix express or stop to stop
1 3 + =
4.00000
10 5 / =
2.00000
10 6 2 + 3 - / =
2.00000
1.1 2.2 * =
2.42000
stop
Here are some extra hints:
To convert a string word into a double use
double num = atof(word.c_str());
For nicer output include <iomanip>
And in the string put fixed<<showpoint<<setprecision(5)


In c++, I need to write reverse postfix calculator using a stack. Postfix notation, and is parenthesis-free as long as operator arities are fixed.
Here is the program logic:
read in a string
while the string is not “stop”
if the string is +, pop the last 2 values from the stack and push back their sum
else if the string is *,pop the last 2 values from the stack and push back their
product
else if the string is -, pop the last 2 values from the stack and push back the second
– the first
else if the string is /, pop the last 2 values from the stack and push back the second
/ the first
else if string is =, print the top of the stack and pop the stack
else ( //the string is a number), convert to a double and push it on the stack;
read the next string
Here is some example input and output:

type in a postFix express or stop to stop
1 3 + =
4.00000
10 5 / =
2.00000
10 6 2 + 3 - / =
2.00000
1.1 2.2 * =
2.42000
stop
Here are some extra hints:
To convert a string word into a double use
double num = atof(word.c_str());
For nicer output include <iomanip>
And in the string put fixed<<showpoint<<setprecision(5)


In c++, I need to write reverse postfix calculator using a stack. Postfix notation, and is parenthesis-free as long as operator arities are fixed.
Here is the program logic:
read in a string
while the string is not “stop”
if the string is +, pop the last 2 values from the stack and push back their sum
else if the string is *,pop the last 2 values from the stack and push back their
product
else if the string is -, pop the last 2 values from the stack and push back the second
– the first
else if the string is /, pop the last 2 values from the stack and push back the second
/ the first
else if string is =, print the top of the stack and pop the stack
else ( //the string is a number), convert to a double and push it on the stack;
read the next string
Here is some example input and output:

type in a postFix express or stop to stop
1 3 + =
4.00000
10 5 / =
2.00000
10 6 2 + 3 - / =
2.00000
1.1 2.2 * =
2.42000
stop
Here are some extra hints:
To convert a string word into a double use
double num = atof(word.c_str());
For nicer output include <iomanip>
And in the string put fixed<<showpoint<<setprecision(5)

Solution

#include <iostream>
#include <iomanip>
#include <string>
#include <stdlib>


using namespace std;

int main() {
   int continue_input = 1;
   string str;
   double op1, op2, store;
   stack<double> s;
   while(continue_input) {
       cin >> str;
       if(str.compare(\"stop\") == 0) {
           continue_input = 0;
           continue;
       } else if(str.compare(\"+\") == 0) {
           op1 = s.pop();
           op2 = s.pop();
           s.push(op1 + op2);
       } else if(str.compare(\"*\") == 0) {
           op1 = s.pop();
           op2 = s.pop();
           s.push(op1 * op2);
       } else if(str.compare(\"-\") == 0) {
           op1 = s.pop();
           op2 = s.pop();
           s.push(op2 - op1);
       } else if(str.compare(\"/\") == 0) {
           op1 = s.pop();
           op2 = s.pop();
           s.push(op2 / op1);
       } else if(str.compare(\"=\") == 0) {
           cout << fixed << showpoinnt << setprecision(5) << s.pop();
       } else {
           s.push(atof(str));
       }
   }
   return 0;
}

 In c++, I need to write reverse postfix calculator using a stack. Postfix notation, and is parenthesis-free as long as operator arities are fixed. Here is the
 In c++, I need to write reverse postfix calculator using a stack. Postfix notation, and is parenthesis-free as long as operator arities are fixed. Here is the
 In c++, I need to write reverse postfix calculator using a stack. Postfix notation, and is parenthesis-free as long as operator arities are fixed. Here is the

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site