fork(2) download
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <map>
  5. #include <functional>
  6. using namespace std;
  7.  
  8. double add(double a, double b){
  9. return a+b;
  10. }
  11. double subtract(double a, double b){
  12. return a-b;
  13. }
  14. double multiply(double a, double b){
  15. return a*b;
  16. }
  17. double divide(double a, double b){
  18. return a/b;
  19. }
  20.  
  21. int main() {
  22. vector<double> results;
  23. map<string, function<double(double, double)>> functions = {
  24. {"+", add},
  25. {"-", subtract},
  26. {"*", multiply},
  27. {"/", divide}
  28. };
  29. string in_function;
  30. double a, b;
  31. while(cin>>a>>in_function>>b)
  32. results.push_back(functions[in_function](a, b));
  33.  
  34. for(auto result : results)
  35. cout << result << " ";
  36. return 0;
  37. }
Success #stdin #stdout 0s 3484KB
stdin
10 * 10 20 - 10 30 - 8 52 / 2
stdout
100 10 22 26