〓〓〓C#计算器问题〓〓〓

来源:百度知道 编辑:UC知道 时间:2024/06/19 19:42:46
C#计算器中怎么记录最后一次按的什么按钮?
计算器中比如说:
我想求12+1=?,
但是我按完12以后不小心一下按“/”了,再按“+”以后希望还能继续正确的得出结果。
就是把最后一次记录的“+”运算,而不是“/”。
请大虾指教。。。。

用一个变量来存运算符就好,按运算符就是给这个变量赋值
比如
string temp;
temp = "/";
temp = "+";
temp = ......
多次赋值的结果只保留最后一位

每次按数字钮的时候再把前一个运算符保存

小书童,数据结构没学好了吧~
这个问题,是最经典的栈结构

如果你想学好,还是去看看数据结构吧~
及时你这样将来有一点成就,但是你的算法基础还是不行

好好学学数据结构,看看什么是栈,链表,队列吧~

/////////////////////////////////////////////////////////
也可以用数组来解决,将所有数据存到一个数组里
输入12,存入a[0]
输入+,存入a[1]
输入1,存入a[2]
输入=,立刻执行运算

如果发现输入错误,可以赋值#,计算机检测到#号立刻删除下标最大的数组元素
这样即使你输入的是12\\+1,你可以通过输入4个#号来删除,回到12重新输入

ps:这种方法还可以用来检测括号,进行科学计算机的功能
比如[()]这种输入是正确的
但是[(])是错误的,当输入第二个]时,遍历整个数组,发现有(存在
得知用户的输入不合法,警告~

当然,如果你要用其他方法,那就逐个变量保存就是啦~

用个临时变量记录上次的结果啊,这次输入肯定不可以和上次的结果冲突的,不是清除按钮都做两个么,你看看windows的计算器,或者生活中的计算器

你想想真实的计算器是什么样的 ,你按了“/”,之后肯定要把那个步骤撤销,也就是回退一步。那么你在你的计算器中也做一个回退的按钮,这个按钮倒着删除你组合的运算语句。每按一次,删除一位。
substing,split这些都可以的。

可以明确的将操作数和操作符作为计算器的对象成员,这样封装会很规整来着