Skip to content
Snippets Groups Projects

two operants

Merged Lisa Maria Paul requested to merge lp130998/rpn_collab:master into master
2 files
+ 9
0
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 3
0
@@ -2,11 +2,13 @@
#include <stack>
#include <stdexcept>
#include <cmath>
int plus( int a, int b) { return a + b; }
int minus( int a, int b) { return a - b; }
int multiply(int a, int b) { return a * b; }
int divide( int a, int b) { return a / b; }
int power( int a, int b) { return std::pow(a, b); }
int modulo( int a, int b) { return a % b; }
int pop_stack(auto &stack) {
@@ -30,6 +32,7 @@ int evaluate(const std::string &s) {
case '-': change_stack_state(minus, stack); break;
case '*': change_stack_state(multiply, stack); break;
case '/': change_stack_state(divide, stack); break;
case '^': change_stack_state(power, stack); break;
case '%': change_stack_state(modulo, stack); break;
case '0'...'9': stack.push(c - '0'); break;
default:
Loading