社区
控件
帖子详情
请教各位高手:关于计算器功能实现的问题
mike689689
2005-08-30 06:08:03
我现在想要做一个这样的计算器:在一个listbox控件里面放着一些函数如:“如果{条件}则{}否则{}”;“求平方根(表达式)”,一些button按钮,上面平时使用的1、2、3、4、5、6、7、8、9和加减乘除外还有一些逻辑运算符:and,or,not和比较运算符=>,=<,<>
请问:整个运算过程都显示在一textbox中,如何实现运算过程?而且把结果保存到一个变量中?
...全文
194
22
打赏
收藏
请教各位高手:关于计算器功能实现的问题
我现在想要做一个这样的计算器:在一个listbox控件里面放着一些函数如:“如果{条件}则{}否则{}”;“求平方根(表达式)”,一些button按钮,上面平时使用的1、2、3、4、5、6、7、8、9和加减乘除外还有一些逻辑运算符:and,or,not和比较运算符=>,=<, 请问:整个运算过程都显示在一textbox中,如何实现运算过程?而且把结果保存到一个变量中?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mike689689
2005-09-28
打赏
举报
回复
俺已经搞定了,不过我的是在日语系统下开发的,可能你看汉字都是乱码
mike689689
2005-09-21
打赏
举报
回复
郁闷,前几天要交货的时候才发现有些例外情况不能处理,正在修改中……
该好了再发给你
youandme520
2005-09-13
打赏
举报
回复
打错了 是 youandmeyy@163.com 发一个给我谢谢 让我学习一下
youandme520
2005-09-13
打赏
举报
回复
youandmeyy@153.com 我要
谢谢学习一下
mike689689
2005-09-13
打赏
举报
回复
感谢各位网友的提点!
本人经过不懈努力,再加上各位网友的提点后终于做出来了一个算法编译器!
如果哪位感兴趣,可以留下邮箱,我可以发给我,然后一起讨论,看看如何在改进、优化
mike689689
2005-09-06
打赏
举报
回复
感谢各位出谋划策的朋友
可是到现在还是没有人能帮我解答……
搞不定,郁闷……
chenqiu1024
2005-09-05
打赏
举报
回复
这样的话“则”这样一个运算符号的含义就是计算其前面操作数(是一个逻辑表达式)的值,为真则计算后面的操作数。我做表达式运算是把运算符号作为一个运算符号类的对象存储进栈里的,这样提高了通用性,增添某种运算符号时只需要派生出来一个类就可以了。对于这种逻辑操作这种方法可能会有用。
不过我还有一个问题:如果{}则{}否则{}这已经是一个完整的句子了,不可能再在前面或后面添加其它的表达式比如四则运算式了,而只能这一句话就是一行。既然这样干嘛非要用与四则运算表达式相同的处理方式来对待它呢?单独想办法对待好了,干嘛把“如果”“则”还当成运算对象压栈呢?
chenqiu1024
2005-09-05
打赏
举报
回复
像只有一般的运算符的是可以用堆栈按照波兰表达式的求法来计算。可是有“如果”、“否则”这样的表达式不能再按同样的方式做了吧? 那可能需要把“运算符”和“操作数”的概念推广一下了:把“如果”后的条件表达式看作一个操作数,“则”和“否则”看作运算符号,“则”和“否则”后面的赋值表达式看作操作数。具体怎么做我也不大懂,没系统地学过编译原理。楼主去查阅一下编译原理方面的书吧。
mike689689
2005-09-05
打赏
举报
回复
感谢各位的帮忙
字符串解析我已经可以做了,现在的问题是我把解析后的字符串放入两个栈中,不知道如何弹栈,进行递归运算,比如textbox的式子是:如果{基本工资<1200}则{基本工资*5%}否则{基本工资*10%}
注:工资为一整数常量
我已经把“如果{”、“}”、“<”、“则{”、“*”、“}”、“否则{”、“*”、“}”放入一个栈中;“基本工资”、“1200”、“基本工资”、“5%”、“基本工资”、“10%”放入另一个栈中,优先级跟平常我们一样,我知道进行运算的原理是进行递归,可是具体代码是怎么实现呢?请各位高手赐教
还想懒够
2005-09-02
打赏
举报
回复
需要利用字符串解析,然后根据条件进行计算
也是类似于金脚指老兄的说法,就是一个简单的编译器。
曾经在CodeProject里面见过类似的VC代码,没找到。帮你顶一下。
mike689689
2005-09-02
打赏
举报
回复
原理应该是这样,但是我还是做不出来,哪位大虾能不能给出代码我看看,麻烦各位了
fishmans
2005-09-01
打赏
举报
回复
这相当于一个编译器了
你得判断关键字如“如果”,“和”等等并限制其出现的位置,次数等等规则
想多了就复杂了
province_
2005-09-01
打赏
举报
回复
行解释啊,基本思路和做四则运算差不多,只是关键词多了“如果”“则“”否则“还要有逻辑判断的代码,还要加上普通的+-*/的运算,需要递归。
mike689689
2005-09-01
打赏
举报
回复
这个是有些难度,所以才来这里请教各位高手,劳烦哪位能高手给我解答,最好附上代码,谢谢
threenewbee
2005-08-31
打赏
举报
回复
http://dev.csdn.net/article/26/26383.shtm
利用API 实现字符串表达式的计算
mike689689
2005-08-31
打赏
举报
回复
感谢两位,但是你们只是讲了四则运算的算法
如果我有这样一窜数据在textbox里:如果{1200<基本工资}则{(基本工资-1200)*5%}否则{}
怎样写这个程序,而且使“(基本工资-1200)*5%”保存在一变量i中
注:基本工资为一常量数值。
mike689689
2005-08-31
打赏
举报
回复
其实是检索到“如果{”和“}”就把其中的数据传到程序中,拿上面的例子说就是把“1200<基本工资”传到程序中的if()里,变成if(1200<基本工资)检索到"则{"和“}”就把其中的数据传到then后。最后在程序里的实现是:if(1200<基本工资)then(基本工资-1200)*5%
就是这样该怎么实现?
wwh999
2005-08-31
打赏
举报
回复
楼主好像超出了计算器讨论的范围了吧,汉字表达式用来搞计算器。
大家伙见过啥流行的用汉字编程的么?
代码如下:呵呵!
如果 搞编程有搞头
那么就搞
不然
就转行了。
结束
mike689689
2005-08-31
打赏
举报
回复
……
这个我还是会的,这里面主要是字符串的索引问题,在vb里面怎么做字符串的索引和索引位置的确定呢?
amanloveyou
2005-08-31
打赏
举报
回复
dim gz cl jg
cl=1200
if gz>cl then
jg=(gz-cl)*5%
endif
i=jg
加载更多回复(2)
微信小程序项目实战:高仿iOS
计算器
本课程主要内容包括
计算器
按钮布局(包括CSS样式)和逻辑代码编写,主要针对各个类型按键的控制
matlab速度梯度,[转载]关于FLUENT中Y+的一些讨论
一、关于 fluent计算时壁面函数法和网格的关系,还有一个小
问题
1:各位用 fluent的同仁和
高手
们,我想要比较好的使用 fluent软件,最重要的就是要学好理 论,在这里我想
请教
各位一个
问题
,在使用标准 k-eplison和一些其他的封闭模型时,对于近壁区的流动要使用壁面函数法求解。那么在划分网格时,是不是一定要把把第一个内节点布置在湍流充分发展的区域内呢?我们如果自动生成网格时,如果说第一...
我在CSDN参与的3000个帖子
今日偶然翻到,感慨万千 1:申述:版主,是否扣了我的专家分? 2:100分急求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望
高手
帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,常用软件、游戏、精美图库下载,希望对网友有帮助!顺便散分! 6:VBA
请教
怎
看
高手
怎么玩电脑
1、我的CPU是我用一个电容一个电容焊接起来的!好大一砣啊……哈哈哈! 2、楼上的真厉害,可怜我昨天费了一个晚上的工夫才用小刀在我的硬盘上刻了一个操 作系统,我要向大家学习啊! 3、吹吧,吹牛不上税……我昨天把我家的那台老式电视拆了,七拼八凑变成了一块 GF4Ti4800的显卡,赚了…… 4、这算什么,刚才我边吃苹果边上网,忽然就死机了,重启一下就发现操作系统就变 成
vb/vb.net开发精粹(14)
VBA如何获取控件句柄? 各位大侠看看我这程序 求解 小白向各位
请教
下VB过滤广告的
问题
关于回调函数的
问题
新手
请教
ocx文件创建的
问题
如何用vb自动填写、选择下拉框选项并提交网页表单?? 如何恢复最大化 如何写外接程序启动路径? 标尺控件 各位大侠帮忙啊,纠结好几天了 如何规定TEXT里面只能输入数字? 悲剧的时钟 各位大侠帮帮忙 这样的
功能
在MSHFlexGri
控件
1,451
社区成员
41,355
社区内容
发帖
与我相关
我的任务
控件
VB 控件
复制链接
扫一扫
分享
社区描述
VB 控件
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章