先将中缀表达式利用栈转换为后缀表达式,然后再利用栈由后缀表达式计算算数表达式的值,具体代码如下:#include<iostream>
usingnamespacestd;
#include<string>
#include<vector>
#include<stack>
enumType
{
OP_NUM,
OP_SYMBOL,
};
enumOperat
..
分类:
其他好文 时间:
2016-04-08 01:09:27
阅读次数:
197
1.运行环境:VS2015/Win7 2.头文件: stack.h postfix.h 3.实现文件: stack.c postfix.c 4.测试demo: ...
分类:
编程语言 时间:
2016-04-06 12:57:19
阅读次数:
265
这一周我们继续了结对编程,相比于上一周,我们磨合的好了一些,结对编程的效率也有所提高。本周我们大体上完成了本次结对编程的任务,我修改了一下之前个人项目里的成员类型,实现了图形界面与计算模块的衔接。本周还解决了一些逻辑问题,比如我搭档在中缀转后缀的程序里,错误区分了负号和减号,导致右括号后的减号被识别 ...
分类:
其他好文 时间:
2016-04-04 13:15:44
阅读次数:
119
这一周将我的计算模块移植到了搭档的程序中。图形模块依旧用的搭档的。更改了部分成员的类型实现了图形界面与计算模块的衔接。 在生成算式后发现小数精度过高或者数字过大时答案会错误,又带括号又带负号的会错误。经过监控栈内情况以及后缀表达式,观察到后缀表达式中多了不该转换的负号,来源是中缀表达式中右括号后的减 ...
分类:
其他好文 时间:
2016-04-03 23:56:07
阅读次数:
162
四则运算栈实现,支持小数、负数,经过测试,暂时没发现错误! 思路: 1、去掉字符串中的空格,将字符串按照运算符和数字保存到vector<string>中; 2、判断字符串是否符合四则运算的表达式; 3、栈实现:数字栈、运算符栈,从左到右扫描中缀表达式; 数字:直接入栈;运算符: (1)”(“:直接入 ...
分类:
其他好文 时间:
2016-04-01 21:55:24
阅读次数:
199
先举例: (3 + 4) × 5 - 6 中缀表达式- × + 3 4 5 6 前缀表达式3 4 + 5 × 6 - 后缀表达式 以前没见过前缀和后缀表达式,感觉一下刷新了知识库!原来在计算机里早已司空见惯了…… 完了,一下暴露非科班出身了……不扯了,下面这篇文章对这三种表达式介绍的很不错,特拿来分 ...
分类:
其他好文 时间:
2016-03-30 22:32:38
阅读次数:
242
我们人脑很容易理解中缀表达式,但是中缀表达式在计算机并不好计算,所有我们要将中缀表达式转换成后缀表达式,因为后缀表达式是很容易计算的。为什么要写一个这样的程序呢?原因是我一开始想写一个计算机,它能够将输入的表达式的值计算出来。一开始觉得这样子的程序应该是很简单的,然后开始动手写,开始写了之后才发现并 ...
分类:
其他好文 时间:
2016-03-28 13:38:14
阅读次数:
202
图2-程序整体流程图 四.困难与挑战 由于进行运算操作的数据类型都是分数类,在修改完代码后发现括号和‘/’并不能总是很协调地在一起出现。在添加若干个条件判断后,这类问题得以解决。如果采用常规的中缀转后缀、后缀求值的方法进行计算的话,也许就不会产生这类的问题。 五.反思 由于时间限制,这次个人项目并没
分类:
其他好文 时间:
2016-03-20 00:32:14
阅读次数:
358
终于完成了“简单”的个人项目,我内心稍有拨动。由于各种因素,我的个人项目启动稍晚,后来因电脑不好使借了室友的电脑,着实命途多舛。我的开发大概分为两个阶段。第一个阶段是实现读入算式,切分文字,中缀转后缀并计算结果。当然,是小数结果。以算法知识尚在,而一气呵成。第二阶段是写分数类,并实现之。本以为更易,
分类:
其他好文 时间:
2016-03-19 23:05:39
阅读次数:
525
分数类,实现了运算符的重构,能实现分数之间的加减法。 input类负责从txt读取中缀表达式并转换成后缀表达式。 判断式子中有无分数 calculator类有两个分别负责将字符转化为值,或运算符,计算有分数的式子,和无分数的式子。 pan_and_out类负责判断输出式子,接受答案并判断。 经过这次
分类:
其他好文 时间:
2016-03-19 22:53:24
阅读次数:
241