Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <iostream>
- #include <sstream>
- using namespace std;
- double solve(string equation);
- int main() {
- string equation;
- while (true) {
- cout << "Equation(no spaces): ";
- getline(cin, equation);
- cout << solve(equation) << endl;
- }
- }
- double solve(string equation) {
- //cout << equation << endl;
- if (equation.length() == 1) return atof(equation.c_str());
- double number;
- if (equation.substr(0,1) == "(") {
- return solve(equation.substr(1,equation.find_last_of(')',equation.length())-1));
- } else {
- number = atof(equation.substr(0,1).c_str());
- double number2 = solve(equation.substr(2,equation.length()-1));
- switch (equation[1]) {
- case '+':
- return number+number2;
- case '-':
- return number-number2;
- case '/':
- return number/number2;
- case '*':
- return number*number2;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement