#include <iostream>
#include <stack>
#include <cstdlib>
#include <sstream>
*stringstream 可以將string內容轉為其他型態,用法為:
1、std:string str = “20”;
std::stringstream ss(str);
int v;
ss >> v;
2、int 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;
}
留言列表