找回密码
 点一下
查看: 5486|回复: 22

[吐血]编个C#的计算器原来这么不容易

[复制链接]
发表于 2007-6-30 11:20:45 | 显示全部楼层 |阅读模式
简简单单的四则运算那是容易得不得了,但做一个仿真点的计算器我着实是费劲了脑汁啊,昨晚狂战4个多小时,总算弄得比较好点,但还是有个别bug。

现在这个计算器可以实现这样以下运算了:

(分别按这些键,括号里的是显示内容)
5 + =(10)=(15)
8 / 4.3 =(1.8604)-2 =(-0.13953)
7 * 2 -9 * 26 / 2.6 =(50)
0.6 -0 +5.09 =(5.69)* = (32.3761)

(1)按了数字以后按运算符,然后就按等号得出结果(如2+=4);
(2)按了数字后运算,不按等号按运算符得出结果,同时以当前数值进行下一轮运算(如3 * 2 *(显示6)2 = 12)。

基本上这两个是最难搞的,一开始思路不好弄得我晕头转向,最终画了算路图,估计没有看的话很难看懂我的代码,人笨就是这样,没办法。

上传供交流用,大家互相学习哈[s:87]
Image00001.jpg

calculator.rar

35 KB, 下载次数: 154

发表于 2007-6-30 11:24:00 | 显示全部楼层
支持。
回复

使用道具 举报

发表于 2007-6-30 11:42:29 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2007-6-30 11:47:42 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2007-6-30 13:47:25 | 显示全部楼层
不好意思,C#我还不是很懂,一开始只是做着玩,后来想完善,结果发现改那些控件名要弄很多地方,弄乱了几次,结果就没改了,不过主要就两三个函数而已,那些控件看它的引用也就明白了。

嗯,确实用枚举好,当初没考虑好哦。

看来C#是要再研究一段时间才行了的
回复

使用道具 举报

发表于 2007-6-30 14:09:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2007-6-30 16:34:23 | 显示全部楼层
这个 ~~没这么难吧~~
回复

使用道具 举报

发表于 2007-6-30 18:01:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2007-6-30 18:05:37 | 显示全部楼层
这种计算器的界面咋一看很吓人,但用VB、C#做其实很简单,主要的难点就是如何使其完善到像平常使用的计算器那样“功能齐全”。
回复

使用道具 举报

 楼主| 发表于 2007-6-30 21:19:17 | 显示全部楼层
引用第0楼new_creator于2007-06-30 11:20发表的 [吐血]编个C#的计算器原来这么不容易 :
简简单单的四则运算那是容易得不得了,但做一个仿真点的计算器我着实是费劲了脑汁啊,昨晚狂战4个多小时,总算弄得比较好点,但还是有个别bug。

现在这个计算器可以实现这样以下运算了:

(分别按这些键,括号里的是显示内容)
.......

Calculator.rar

63 KB, 下载次数: 121

回复

使用道具 举报

 楼主| 发表于 2007-6-30 21:20:20 | 显示全部楼层
把我画的2个图弄进去,有兴趣的人就看喽。 [s:87]
回复

使用道具 举报

发表于 2007-7-2 21:36:36 | 显示全部楼层
话说MS的自带计算机貌似有个计算BUG?这个有解决么
回复

使用道具 举报

 楼主| 发表于 2007-7-3 09:06:29 | 显示全部楼层
Windows自带的计算器bug我不知道啊。

其实我这个都还有一些无法实现的功能,至少还没有完善到Windows自带的那个呀,不过就是比市面上那些教程书里教的做那种简单的计算器更进一步完善了,初学者可以参考一下,大虾就……别笑我啦,给点建议行行好呀,我都还只是菜鸟

我采用的靠“路标”进行控制,其实,感觉还是有点复杂,不知道有没有更好的方法,都不知道那些计算器是怎样的设计原理的说(电路板级的就表说啦)
回复

使用道具 举报

发表于 2007-7-3 09:14:27 | 显示全部楼层
1  微软Windows产品有一个非常低级的错误!该错误来自微软Windows附带的计算器(运行中输入:calc)。当你尝试用9216除以96并按下=按钮时,计算器竟然没有反应!!! 而9216处以97,98却一切正常。

2  还有一个错误,当你尝试用24000除以96并按下=按钮时,计算机竟然显示出你的名字,很准的,大家可以试一下。

就是这个么
回复

使用道具 举报

 楼主| 发表于 2007-7-3 09:19:00 | 显示全部楼层
9216 = 96 * 96啦-_-!!!

第二个没有出现哦
回复

使用道具 举报

发表于 2007-7-3 09:21:40 | 显示全部楼层
= = 太没幽默感了
回复

使用道具 举报

 楼主| 发表于 2007-7-3 09:39:31 | 显示全部楼层
引用第15楼sroun于2007-07-03 09:21发表的  :
= = 太没幽默感了
好吧,我错了,事实上,我的那个计算器,输入9216 / 96也是没有反应的,55555
回复

使用道具 举报

发表于 2008-12-26 16:20:34 | 显示全部楼层
...这...
话说 我也试过用VB写一个计算器....
写的我吐血...
最后终于能勉强完成 加减乘除.....
不过似乎.....除有严重BUG....N年前的事情了.....如今那个玩意..早已丢失.....
从此对于程序有了不好的感觉...
话说本人还是喜欢艺术方面的东西...(目标是中央美院...或者浙江美院....)太过逻辑的东西还是不适合我啊....
回复

使用道具 举报

kw 该用户已被删除
发表于 2008-12-27 11:19:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2008-12-28 00:05:04 | 显示全部楼层
支持艺术!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-22 01:40 , Processed in 0.115732 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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