C++判断表达式中括号是否匹配,以及运算符用法正确与否,

来源:百度知道 编辑:UC知道 时间:2024/06/19 11:46:02
表达式以及判断的结果如下
a=[3*4*(3+4)/2 缺少]括号
a+b=[3*4*(3+4]/2 缺少) 且=左边有非法字符
2a=[3*+4*(3+4)]/2 =左边不能以数字开头 不能连续使用运算符
要求: 括号匹配利用堆栈
把3个表达式存放到.C文件中
利用ifstream和OFSTREAM 输入原文件
把输出文件放入.TXT中

谢谢大家拉~

帮帮我吧~
快哭了~.
a=[3*4*(3+4)/2 缺少]括号
a+b=[3*4*(3+4]/2 缺少) 且=左边有非法字符
2a=[3*+4*(3+4)]/2 =左边不能以数字开头 不能连续使用运算符
左边表达式存在一个.C中,经过C++的判断
把右边文字显示的错误结果输出到一个.TXT中
文字错误结果我都写出来啦~非法字符什么的~

可以用堆栈来实现,
比如进来一个[,就是进入一个栈中,]就是出一个栈.
如果最后栈为空,说明匹配

代码量有点多
多给点分吧

括号匹配倒是容易
运算符的用法能说得具体一些吗