如何计算“正确”和“不正确”响应的数量

时间:2015-01-19 06:47:35

标签: c# winforms

我是编码的新手,我正在用C#创建一个Windows窗体应用程序。我无法确定如何跟踪correctincorrect响应的数量。单击按钮时,如果响应为correct,则标签说明正确。我想要一个不同的标签来计算它说正确和不正确的次数。这就是我的想法,但没有奏效。

int add = 0;
add = int.Parse(correct.Text);

if (label1.Text == "Correct")
{
    correct.Text = add++;
}
else
    incorrect.text = add++;

correctincorrect是我的标签名称。

这是我的按钮点击事件,有很多相似的事情。

private void G_Click(object sender, EventArgs e)
        {
            if (go.Visible == true)
            {
                go.Visible = false;
                Random rnd = new Random();
                int y = rnd.Next(1, 7);

                if (y == 1)
                {
                    eo.Visible = true;
                }
                if (y == 2)
                {
                    ao.Visible = true;
                }
                if (y == 4)
                {
                    dd.Visible = true;
                }
                if (y == 5)
                {
                    go.Visible = true;
                }
                if (y == 6)
                {
                    eeo.Visible = true;
                }

                timer1.Start();

                label1.Text = "Correct";
            }
            else
             {
                label1.Text = "Incorrect";
             }

            private int correctCount = 0;
            private int incorrectCount = 0;


             if (label1.Text = "Correct";)
                {
                     correctCount++;
                     correct.Text = correctCount.ToString();
                }
    else
                {
                      incorrectCount++;
                      incorrect.Text = incorrectCount.ToString();
                }

2 个答案:

答案 0 :(得分:5)

当前问题是Text属性的类型是string,而不是int - 您必须将其设置为 text ,而不是数字。幸运的是,您只需在ToString上致电int即可获得string代表。但是,我建议还有其他一些事情要改变。

我强烈建议你将单独的计数器作为变量。虽然可以继续解析您的标签,但它们可以更简单地输出。所以你可能有:

// Fields
private int correctCount = 0;
private int incorrectCount = 0;
...
// Wherever your code is
if (correctAnswer)
{
    correctCount++;
    correct.Text = correctCount.ToString();
}
else
{
    incorrectCount++;
    incorrect.Text = incorrectCount.ToString();
}

请注意此处的correctAnswer条件 - 我们不知道设置label1文字的内容,但我建议这样做是正确的来自的地方从相同的条件更改正确/不正确的计数器。同样,将label1视为输出,而不是反馈系统。

答案 1 :(得分:0)

class fields =在方法之外声明并直接在类中的变量 局部变量=在方法

中声明的变量
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace deleteMe
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private int correctCount = 0; // field

        private int incorrectCount = 0; // field

        private void G_Click(object sender, EventArgs e)
        {
            if (go.Visible == true)
            {
                go.Visible = false;
                Random rnd = new Random();
                int y = rnd.Next(1, 7); // local variable

                if (y == 1)
                {
                    eo.Visible = true;
                }
                if (y == 2)
                {
                    ao.Visible = true;
                }
                if (y == 4)
                {
                    dd.Visible = true;
                }
                if (y == 5)
                {
                    go.Visible = true;
                }
                if (y == 6)
                {
                    eeo.Visible = true;
                }

                timer1.Start();

                incorrect.Text = "Correct";
            }
            else
            {
                incorrect.Text = "Incorrect";
            }


            if (label1.Text = "Correct")
            {
                correctCount++;
                correct.Text = correctCount.ToString();
            }
            else
            {
                incorrectCount++;
                incorrect.Text = incorrectCount.ToString();
            }
        }
    }
}

==平等。 (用于比较2个值)
=分配一个值。 (用于初始化变量或字段)