C++或C 栈实现表达式求值运算

来源:百度知道 编辑:UC知道 时间:2024/06/15 13:03:45
要求:
1.通过键盘输入表达式 程序运行得结果 屏幕显示表达式和求得的值
2.表达式输入以字符串形式表达式运算+ - * \ 还有括号 括号可以嵌套
3.代码包括输入和输出模块
4.重点::::分模块: 各个模块相对独立(偶就这个最不会弄)
表达式输入模块是从键盘读取表达式串
表达式完整性检查模块:检查完整性和合法性 不合法要求重新输入
求值模块(核心部分 必须使用栈结构) 对表达式进行运算
输出结果模块是屏幕显示结果
PS:哪位大侠帮忙救命啊 有问题可以qq讨论交流qq:352126607
偶有一个可以运行的C++程序 可以正确运行但是没分模块 偶不会分 也可以偶给出这个程序帮偶安要求分一下就ok
发邮箱吧:352126607qq.com
分数可以加的啊 大侠们当做是练习一下程序设计吧
PS2:由于时间仓促 周六晚上12点前希望能搞定 谢!!
忘了说一下 不能用类.......BT吧

邮箱pur_e@qq.com,代码发给我看看

发邮件给我,我闲着无聊看看,不幸看懂了就告诉你啊

NXPD 当年在学校,搞了小一个月@

你那个模块到底怎么划分呢?是输入-处理-输出,还是怎么的?
我有前些天做了一个,划分的不是很好,不过还是有一些小模块的。
参考一下:http://hi.baidu.com/cdysxy1987/blog/item/feb62597a037bb027af4806e.html

纯C啊?顺序栈可以吗?

//数据结构
//表达式求值
//带注释
#include <iostream>
#include <sstream>
using namespace std;
const int MAXSIZE=100;

template <typename ElemType>
struct SqStack{
ElemType base[MAXSIZE];
int top;
};

template <typename ElemType>
void initStack(SqStack<ElemType>& s){
s.top=0;
}

template <typename ElemType>
void clearStack(SqStack<ElemType>& s){
s.top=0;
}

template <typename ElemType>
bool isEmpty(SqStack<ElemType>& s){
return s.top==0