应该发生什么
我的任务是编写一个能够在“队列”中进行计算的计算器。
示例:用户输入第一个数字txtZahl
,然后单击其中一个按钮。所需的计算应保存在列表中numbers
并txtZahl
应清除。用户现在可以输入一个新数字并按下按钮等。当用户单击btnEqu
foreach 时,应该从列表中获取每个计算并进行计算。如果这样做了,结果应该显示在txtZahl
.
问题
计算不正确。例如,我得到 0.00 作为 4-3 的结果。
我知道加班的想法不是最好的方法,但我想保留它,看看我的老师是怎么想的。感谢您的帮助!
代码:
Form1.cs
double ergebniss = 0;
Boolean firstRun = true;
List<Rechnung> numbers = new List<Rechnung>();
Rechnung.RechenArt lastArt;
private void btnMinus_Click(object sender, EventArgs e)
{
if (isValid())
{
if (firstRun)
{
ergebniss = Convert.ToDouble(txtZahl.Text);
}
numbers.Add(new Rechnung(Convert.ToDouble(txtZahl.Text), Rechnung.RechenArt.Subtraktion));
lastArt = Rechnung.RechenArt.Subtraktion;
clearAndFocus();
}
}
private void btnEqu_Click(object sender, EventArgs e)
{
foreach (Rechnung r in numbers)
{
switch (r.getArt())
{
case Rechnung.RechenArt.Subtraktion:
{
ergebniss -= r.getNumber();
break;
}
}
}
txtZahl.Text = ergebniss.ToString("f2");
}
}