c#项目简单计算器

时间:2013-12-29 21:33:12

标签: c# .net

我正在C#Visual Express 2013中构建一个非常简单的计算器。我正在读一本书。第一周编码员在这里。

http://www.homeandlearn.co.uk/csharp/calculator1.txt

在上面编写的代码中,我不了解一段代码:

private void btnClear_Click(object sender, EventArgs e) 
{
    plusButtonClicked = false;
    minusButtonClicked = false;
    divideButtonClicked = true;
    multiplyButtonClicked = false;

    txtDisplay.Clear();
}

在这里拥有这些布尔值的附加价值是多少?只写txtDisplay.Clear();不足以使btnClear_Click执行计算器的行为吗?

4 个答案:

答案 0 :(得分:2)

我认为一切都应该重置为假。这意味着即使divideButtonClicked也应该是假的。只编写代码txtDisplay.Clear()才能清除文本框。我们需要清除所有操作,因此我们需要将所有内容都设置为false

答案 1 :(得分:2)

参见EQUALS BUTTON:

private void btnEquals_Click(object sender, EventArgs e) {

        if (plusButtonClicked == true) {
            total2 = total1 + double.Parse(txtDisplay.Text);
        }
        else if (minusButtonClicked == true) {
            total2 = total1 - double.Parse(txtDisplay.Text);
        }
        else if (multiplyButtonClicked == true) {
            total2 = total1 * double.Parse(txtDisplay.Text);
        }
        else if (divideButtonClicked == true) {
            total2 = total1 / double.Parse(txtDisplay.Text);
        }

        txtDisplay.Text = total2.ToString();
        total1 = 0;
    }

开发人员想知道用户是否点击了相同的按钮,该程序应该做什么......就像真正的计算器一样。 但是对于清除按钮所有标志都应设置为false

答案 2 :(得分:2)

如果您进入btnClear_Click()然后执行btnEquals_Click(),请考虑一个案例。它将在行total2 = total1 / double.Parse(txtDisplay.Text);

中抛出“输入字符串无效”的异常

所以你需要把它设置为假。

答案 3 :(得分:1)

所有标志都需要设置为false,因为这是一个重置按钮,因此你想让所有其他按钮设置为关闭状态(例如,点击分割按钮将其切换到开启状态 - 我们需要重置计算器,现在我们将其转为关闭状态)