初学C#想写一个计算器就遇到一大堆有关问题,求大神帮忙

初学C#,想写一个计算器就遇到一大堆问题,求大神帮忙啊
初学C#想写一个计算器就遇到一大堆有关问题,求大神帮忙我想写一个如图的计算器小程序,但是在textbox赋值的时候就遇到问题了,比如说要最终的计算结果显示在textbox中,就得把最终值赋给它,但是定义的数据类型是float,而textbox.text提示是string类型,这个怎么办啊,还有就是怎么知道当点击加减乘除按钮时,知道是将要进行哪种运算,来大神help啊,最好能说下你们的思路,我可以相映照下。
------解决思路----------------------
1、对float变量进行装箱(调用ToString方法),赋值给文本框
2、点击+,触发+按钮事件,执行加法运算。你还要怎么知道?!
------解决思路----------------------
不同按钮对应不同的事件啊,float,string之间转换下就得了
------解决思路----------------------
引用:
Quote: 引用:

1、对float变量进行装箱(调用ToString方法),赋值给文本框
2、点击+,触发+按钮事件,执行加法运算。你还要怎么知道?!
我设计的输入模式是先输入一个数到textbox中,再点击运算符,在输入一个数,最后点击等于事件。定义3个变量来存放两次输入的数字和运算结果,哎,初学者的悲哀


不需要定义三个变量,定一个变量保存数值就足够了,这个变量可以叫做“数值寄存器”。然后再定义一个char类型的变量,可以叫做符号寄存器。用户的输入要通过 TextBox 的KeyDown、KeyUP、KeyPress事件来捕获。

从业务逻辑上说,其流程是:
1. 当用户输入123.4这类纯数值时,实际上什么也不用做。
2. 而当用户输入四则运算符号(例如+)的时候,把Textbox.Text 中的字符转为 float 数字(假设为x),更新当前数值寄存器,然后把这个新的四则运算符号放入符号寄存器,然后把 TextBox内容清空,回到开头,重新等待用户输入。
3. 当用户输入的是=号,则更新当前数值寄存器,然后数值寄存器中的数值放到TextBox.Text(显示结果),并且将数值寄存器重新初始化为0,将符号寄存器的值重新初始化为 null,回到开头,等待用户继续输入。

“更新当前数值寄存器”的流程是,判断当前的符号寄存器:
    2.1 如果为null,就把 x 直接放入数值寄存器。
    2.2 如果不为null,需要将数值寄存器中的当前值与x按照此符号进行四则运算,结果放入数值寄存器。


------解决思路----------------------
引用:
Quote: 引用:

别写这种没用的图形化计算器了 百度逆波兰式 写个支持直接计算四则运算的计算器才是王道 顺便可以学基础的数据结构
哎,难道是我的问题太简单了,都说了是初学c#,想简单通过这个程序来看看能遇到哪些问题,毕竟是刚接触,哪还能想那么多啊,简单的都不会呢,对了,如果你们觉得简单,可以把代码写出来让我学习下思想和语法也可以,谢谢大神咯


学习软件,学的时流程设计。用什么语言来编写代码,那只是小伎俩。实际上能够在一张餐巾纸上用签字笔把这个流程画出来,知道流程其中有几个存储(寄存器),几种输入规则,几种处理规则,这就行了。

写代码是小伎俩。
------解决思路----------------------
引用:
Quote: 引用:

别写这种没用的图形化计算器了 百度逆波兰式 写个支持直接计算四则运算的计算器才是王道 顺便可以学基础的数据结构
哎,难道是我的问题太简单了,
你的意思是你觉得对方回答的”逆波兰式运算“太简单了?我估计是你没有看这个概念。

#4 楼本来想给你小小地“秀”一下在《编译技术基础》课程中才会学到的概念,不小心被你一下子给鄙视且说成是“太简单”了!!
------解决思路----------------------
所谓“逆波兰”方式,跟简单的四则运算计算器算法不同。其实逆波兰表达式特别简单,就是堆栈运算。每当遇到符号,就把栈顶的两个数值弹出,压入符号计算结果;每当遇到数值,就直接压入栈。

其实跟上面的“算法描述”是完全不同的意思。逆波兰表示法是后缀表示法,而你的例子显然是中缀表示法。

从UI角度,我觉得#4楼的主张也是不太可取的。不能因为UI 比较土,就让人家“去抄袭一下逆波兰表示法就行了”。因为后者并没有提供更酷炫更好的 UI 设计啊?!

用技术来代替艺术,这是说不通的。是程序员的通病。所以说,“你这个界面太土了,你应该学另外一个根本没有界面感觉的堆栈处理算法啊”,这个理由无法说服人哦。
------解决思路----------------------
别管神马逆波兰,撸主入门级也整不出神马高级的计算机。
就按照撸主的界面,8#的思路进行编码,尝试着去写,折腾其他的暂时没必要。
------解决思路----------------------
http://blog.****.net/xianfajushi/article/details/40684551
------解决思路----------------------
既然是初学,那么楼主注意考虑,输入准确性的判断咯,比如,不能输入abcd等,比如小数点只能输一个且不能在第一位等等等等。。。。。
------解决思路----------------------
强制转换类型