1

我需要帮助为我的班级制作分数计算器。分数的输入不能预设,它必须在增加计数的同时将所有先前的输入相加。

例如,假设我在文本框中输入了 23,然后按 Enter,然后输入 45,我需要我的程序保留 23 并将其添加到 45,并且只要用户输入数字,它就需要重复此操作。

我知道它需要是一个集合,并且我已经有了它的基础,我只需要代码来保存以前的输入并将其添加到新的输入中并保存该总数以将其添加到下一个输入中。

这是我解决这个问题的尝试:

 List<decimal> score = new List<decimal>();
        score.Add(scoreInput);
        decimal scoreTotal = 0;
        decimal scoreHolder = 0;
        foreach (decimal d in score)
        {

            scoreTotal = scoreHolder + scoreInput;
            scoreHolder = scoreInput;
            scoreInput = 0;
            txtTotal.Text = scoreTotal.ToString("");
            txtCount.Text = score.Count.ToString("");
            txtScore.Clear();
            txtScore.Focus();
        }
4

1 回答 1

0

只需为 KeyDown 事件添加一个事件处理程序,并使用如下代码:

private void tbEntry_KeyDown(object sender, KeyEventArgs e)
{
    Decimal entry;

    if (e.KeyCode == Keys.Enter)
    {
        if (Decimal.TryParse(tbEntry.Text, out entry))
        {
            score.Add(entry);
        }

        tbResult.Text = score.Sum(s => s).ToString();
        tbEntry.Text = string.Empty;
    }
}

这是实现您想要实现的目标的一种方式。

编辑:

这是假设您将变量“score”声明为表单的成员:

private  List<decimal> score = new List<decimal>();

干杯

于 2012-10-25T02:50:34.633 回答