fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <map>
  4. #include <functional>
  5. using namespace std;
  6.  
  7. int main() {
  8. map<string, function<double(double, double)>> functions = {
  9. {"+", [](double a, double b){return a+b;}},
  10. {"-", [](double a, double b){return a-b;}},
  11. {"*", [](double a, double b){return a*b;}},
  12. {"/", [](double a, double b){return a/b;}}
  13. };
  14. string inFuncName;
  15. double a, b;
  16. while(cin>>a>>inFuncName>>b)
  17. cout << a << inFuncName << b
  18. << " = " << functions[inFuncName](a, b) << endl;
  19. return 0;
  20. }
Success #stdin #stdout 0s 3484KB
stdin
10 * 10 20 - 10 30 - 8 52 / 2
stdout
10*10 = 100
20-10 = 10
30-8 = 22
52/2 = 26