用51单片机实现的四则混合运算计算器

[复制链接]
6163|13
 楼主| TOTOJOJO 发表于 2008-9-12 23:04 | 显示全部楼层 |阅读模式
 楼主| TOTOJOJO 发表于 2008-9-12 23:05 | 显示全部楼层

再接一张SHOW

 楼主| TOTOJOJO 发表于 2008-9-12 23:06 | 显示全部楼层
 楼主| TOTOJOJO 发表于 2008-9-12 23:07 | 显示全部楼层

LSAT SHOW

djc001 发表于 2008-9-13 00:31 | 显示全部楼层

不错啊,你括号怎么解析的?sin,cos之类的函数支持吗?

李冬发 发表于 2008-9-13 01:00 | 显示全部楼层

括号的解析一般是用逆波兰式吧,不知LZ是否也是

koolean 发表于 2008-9-13 01:21 | 显示全部楼层

不错不错,不过这样的人际界面一般是用C来写得把?

哪一款产品?楼主贴出来是何意?
nin124 发表于 2008-9-13 01:38 | 显示全部楼层

这个对我来说真是难啊.

以前看书上说,四则运算要用堆栈数据结构,做计算器要用运算工厂设计模式.
 楼主| TOTOJOJO 发表于 2008-9-13 08:55 | 显示全部楼层

楼上所谓的解析

这个好象不用什么解析,把四则混合运算表达式的合法性规则都写到程序里去就可以了
计算时是设计了两个软件堆栈,一个数据栈,一个符号栈,所谓的解析应该是在对这两个栈操作时的动作吧。
sin cos之类的还没弄进去,这个math的库文件里都有。
51的C没有double数据类型啊,只有float,所以这个计算器最高有效数字位数只弄了7位。
其实我对解析、逆波兰式,还有什么计算工厂模式没什么概念,只是觉得怎么可以实现就怎么去设计程序了,算法最早应该是来自于“速算24”这个游戏吧
 楼主| TOTOJOJO 发表于 2008-9-13 09:08 | 显示全部楼层

解析、逆波兰式是不是类似于这样

请问大虾,解析、逆波兰式是不是类似于这样:
“1+2” 应被程序读为“1!2!+”?感叹号用来表示一个数据的结束
括号是在对软件栈进行分析时去掉的
顺便祝大家中秋节快乐!呵呵
zc1718 发表于 2008-9-13 09:41 | 显示全部楼层

请问楼主事做什么的啊

 楼主| TOTOJOJO 发表于 2008-9-13 09:47 | 显示全部楼层

画CAD设计图纸的而已

我现在做的与单片机没有太大的关系了,做机械工艺设计的,一个画CAD设计图纸的而已,呵呵
eryueniao 发表于 2011-5-29 09:57 | 显示全部楼层
junlove09 发表于 2013-1-7 22:13 | 显示全部楼层
不错呀~~~~~~~~~~~~~~~~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

47

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部