#include <bits/stdc++.h>
using namespace std;
stack<char>st;
stack<double>cal;
char s[1200],post[1200];
double res;
//中缀转后缀
void trans()
{
while(!st.empty())
st.pop();
int i=0,j=0;
char ch;
while(s[i]){
ch=s[i];
if(s[i]=='(')
st.push(s[i]);
else if(ch==')')
{
while(!st.empty()&&st.top()!='(')
{
post[j++]=st.top();
post[j++]=' ';
st.pop();
}
st.pop();
}
else if(ch=='+'||ch=='-')
{
while(!st.empty()&&st.top()!='(')
{
post[j++]=st.top();
post[j++]=' ';
st.pop();
}
st.pus
栈实现简单计算器的四则运算(STL)
最新推荐文章于 2024-07-09 02:30:40 发布
该博客详细介绍了如何利用栈来实现中缀表达式转换为后缀表达式,并进行四则运算。通过定义两个栈,一个用于存储运算符,另一个用于存储数字,实现了从输入的中缀表达式到后缀表达式的转换。之后,博主展示了如何遍历后缀表达式并根据运算符进行相应的计算,最终得出结果。整个过程涉及到了字符串处理、字符判断、栈操作等编程技巧。
摘要由CSDN通过智能技术生成