鱼C论坛

 找回密码
 立即注册
查看: 8072|回复: 65

[技术交流] 用C++写四则运算的想法(附上源码)

[复制链接]
发表于 2014-7-30 00:58:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 红头发 于 2014-7-30 14:52 编辑

我主要说的内容是如何将输入的string变量(都是字符)转化成可运算的式子
下面是我的做法:
一个string变量中的字串是这种形式的,其中每一个都是字符变量
3
4
+
6
*
5
=

要怎么变成我们转化成能计算的式子呢?
我是这样想的:
先将string中的每个字符都配上标识,表明它是数值还是符号(1代表符号,0代表数值)
3
4
+
6
*
5
=

1
0
0
1
0
1
1
0
1

这样我就会知道每一位对应的是什么
然后我们重新设置一个整形数组newstr来存放这个string
关于这个转化,我的想法如下:
如果本来是符号,则转化成数值存入newstr并标识上1表明他是运算符;
如果有两个0的情况,说明他们应该是一个数字,则把他们合并存入newstr并标识上0
然后就会得到如下的两个数组
34
+
6
*
5
=


40
34
43
6
41
42
5
61


1
0
1
0
1
1
0
1


第二行是newstr中的值
第三行是标识数组中的值

然后呢
之后转化后缀表达式就是数据结构的内容了
看看书就可以啦

这是目前我想出来的还算过的去的想法了,完全闭门造车,有其他想法的鱼油欢迎指点哈,一个晚上的结晶啊
运行结果如图:
四则运算.jpg
附上源码
游客,如果您要查看本帖隐藏内容请回复


评分

参与人数 2鱼币 +15 收起 理由
拈花小仙 + 5 鱼C侦探组加油~
小布丁 + 10 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-30 01:02:15 | 显示全部楼层
让我来人工置顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-30 09:23:59 | 显示全部楼层

回帖奖励 +1 鱼币

确实不错啊O(∩_∩)O~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-1 13:14:33 | 显示全部楼层

回帖奖励 +1 鱼币

感谢楼主分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-1 13:33:21 | 显示全部楼层

回帖奖励 +1 鱼币

顶顶~~我想问如果有小数怎么办?(新手不会C++,还望海涵~~)

评分

参与人数 1鱼币 +3 收起 理由
红头发 + 3 感谢支持

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-1 14:59:41 | 显示全部楼层

回帖奖励 +1 鱼币

:funk::funk::funk::funk::funk:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-8-1 20:42:08 | 显示全部楼层
w_yc2013 发表于 2014-8-1 13:33
顶顶~~我想问如果有小数怎么办?(新手不会C++,还望海涵~~)

如果是小数,也一样啊,把小数点标上1,表明是符号,然后整形数组声明称double型,再经过算法,把小数存进数组,之后的转化表达式步骤都一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-1 21:27:44 | 显示全部楼层

回帖奖励 +1 鱼币

喵~ >▽<
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-2 00:20:22 | 显示全部楼层

回帖奖励 +1 鱼币

俺来学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-2 05:48:13 | 显示全部楼层

回帖奖励 +1 鱼币

{:7_177:}热爱鱼C^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-2 08:58:22 | 显示全部楼层

回帖奖励 +1 鱼币

先将表达式中缀转后缀,然后用堆栈实现最简单不过了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-2 10:13:42 | 显示全部楼层

回帖奖励 +1 鱼币

感谢楼主分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-2 10:51:21 | 显示全部楼层

回帖奖励 +1 鱼币

支持楼主~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-2 10:52:38 | 显示全部楼层
看完了楼主的程序,佩服佩服~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-2 15:23:27 | 显示全部楼层

回帖奖励 +1 鱼币

今天刚好在想这个问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-2 16:14:46 | 显示全部楼层

回帖奖励 +1 鱼币

名侦探柯南组加油!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-2 16:32:37 | 显示全部楼层

回帖奖励 +1 鱼币

拿点钱钱        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-2 23:07:49 | 显示全部楼层

回帖奖励 +1 鱼币

{:7_148:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-3 02:14:31 | 显示全部楼层

回帖奖励 +1 鱼币

热爱鱼C、
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-3 09:30:16 | 显示全部楼层

回帖奖励 +1 鱼币

看看...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 02:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表