Advertisement
Guest User

Untitled

a guest
Aug 16th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.84 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <iostream>
  3. #include <sstream>
  4.  
  5. using namespace std;
  6.  
  7. double solve(string equation);
  8.  
  9. int main() {
  10.     string equation;
  11.     while (true) {
  12.         cout << "Equation(no spaces): ";
  13.         getline(cin, equation);
  14.         cout << solve(equation) << endl;
  15.     }
  16. }
  17.  
  18. double solve(string equation) {
  19.     //cout << equation << endl;
  20.     if (equation.length() == 1) return atof(equation.c_str());
  21.     double number;
  22.     if (equation.substr(0,1) == "(") {
  23.         return solve(equation.substr(1,equation.find_last_of(')',equation.length())-1));
  24.     } else {
  25.         number = atof(equation.substr(0,1).c_str());
  26.         double number2 = solve(equation.substr(2,equation.length()-1));
  27.         switch (equation[1]) {
  28.         case '+':
  29.             return number+number2;
  30.         case '-':
  31.             return number-number2;
  32.         case '/':
  33.             return number/number2;
  34.         case '*':
  35.             return number*number2;
  36.         }
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement