在Windows应用商店中创建计算器应用

时间:2014-07-28 11:01:56

标签: c# windows-store-apps

我正在Windows Store应用程序中创建一个计算器。我已经在商店中成功创建了应用程序。

现在我的应用程序出现问题,在按下任何数值后执行任何操作后得到的结果,该值都附加在现有值中。

在以下快照中:我添加了两个数字(1,1):

enter image description here

现在我输入另一个值来执行其他选项,但新值附加在现有值中。我在这里输入1:

enter image description here

如果按下任何数值,删除现有值的代码是什么?

2 个答案:

答案 0 :(得分:0)

你可以声明一个错误的bool值,当你完成计算时,你将它切换为true。然后你编写一个方法来检查计算是否完成,如果完成,你只需清除(我猜你使用文本块/框?)输出。在这种情况下,这将是我的方式 - 也许有更好的解决方案。我希望它能帮助你更清楚地理解这一点。

答案 1 :(得分:0)

作为从Windows 3.0通过Windows Vista发布的Windows计算器的作者,我同意user3645029的回复。您需要计算应用程序的输入模型,以便在开始输入新数字时以及附加到显示的数字时清楚地理解。我怀疑你的应用程序逻辑没有做出这种区分。

让我更具体一点:

  • 如果按下的键是一个数字,并且按下的最后一个键是一个数字,则添加该新数字,这实际上意味着将当前值乘以10,然后添加新键。
  • 如果按下的键是一个数字,并且按下的最后一个键是操作符,=或类似的键,那么您将开始一个新的数字输入,并且您的当前值应该首先重置为0.

简而言之,编写计算器应用程序需要内部状态机,它们了解如何从一个输入进行到下一个输入。根据你的描述,听起来你错过了= key的逻辑。一般来说,如果在=之后开始输入新数字,带有=符号的手持式计算器可以有效地清除当前值。只有按下运算符才能保持该值,并且在这种情况下,您还要启动一个新的当前值并将您的情况中的“2”保留为第一个操作数。