#include <iostream>
#include <stack>
#include <cstdlib>
#include <sstream>

 

*stringstream 可以將string內容轉為其他型態,用法為:

1std:string str = “20”;
     std::stringstream ss(str);
     int v;
     ss >> v;

2int v;
     std::stringstream(“30”) >> v;

 

int main() {
using namespace std;

stack<int> s;
cout << "
請輸入後序運算式" << endl; 
  while (true) {
    string input;
    cin >> input;

    switch(input ){

      case "="

        cout << "計算結果為 " << s.top() << endl; 
        break;

      case "+" 

        int b = s.top();
        s.pop();
        int a = s.top();
        s.pop();
        s.push(a+b);

        break;

      case "-" 

        int b = s.top();
        s.pop();
        int a = s.top();
        s.pop();
        s.push(a-b);

        break;

      case "*" 

        int b = s.top();
        s.pop();
        int a = s.top();
        s.pop();
        s.push(a*b);

        break;

      case "/" 

        int b = s.top();
        s.pop();
        int a = s.top();
        s.pop();
        s.push(a/b);

        break;

      default

        int v;
        std::stringstream(input) >> v;
        s.push(v);

    }
  }
  std::system("pause");
  return 0;

}

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 阿洲 的頭像
    阿洲

    阿洲程式天地

    阿洲 發表在 痞客邦 留言(0) 人氣()