Почему мой код выводит «Неверно», хотя ответ правильный? - PullRequest
0 голосов
/ 03 октября 2018

Мне просто нужна была помощь с некоторым моим кодом.
Я настроил его так:

public partial class frmAdditionTutor : Form
{
    public int I = 0;
    public frmAdditionTutor()
    {
        InitializeComponent();
        Random rand = new Random();
        int NumberOne = rand.Next(500) + 100;
        int NumberTwo = rand.Next(500) + 100;
        lblEquation.Text = NumberOne.ToString() + " + " + NumberTwo.ToString() + "= ?";
    }

    private void btnSolve_Click(object sender, EventArgs e)
    {
        Random rand = new Random();
        int NumberOne = rand.Next(500) + 100;
        int NumberTwo = rand.Next(500) + 100;
        int TotalAmount = NumberOne + NumberTwo;
        int UserInputs = Convert.ToInt32(txtInput.Text);

        if ((NumberOne + NumberTwo) == UserInputs)
        {
            lblRightorWrong.Text = "Correct!";
            I++;
            txtAmountCorrect.Text = I.ToString();
        }
        else
        {
            lblRightorWrong.Text = "Incorrect!";
            I++;
            txtQuestionCount.Text = I.ToString();
        }
    }
}

Что происходит, когда я запускаю программу, так это то, что она дает пользователю уравнениерешить.
Когда они вводят свою проблему, код проверяет, является ли она правильной или неправильной.Если ответ правильный, я хочу, чтобы он отобразил Правильно! в Label, а затем добавьте +1 к моему AmountCorrect TextBox.

Проблемав том, что независимо от того, правильно ли пользователь вводит его, код считает, что он неверен и не добавляет к счетчику.

Я хочу, чтобы в моем коде случайным образом отображались различные переменные, к которым он добавлялся причеловек получает правильный ответ.

1 Ответ

0 голосов
/ 03 октября 2018

В коде вы создавали новые NumberOne и NumberTwo, нажимая кнопку решения.Если вы хотите создать случайный вопрос снова, сделайте это после расчета.Вы также можете использовать метод для повторного использования кода.

 public partial class frmAdditionTutor : Form
    {
        public int CorrectAnswerCount = 0;
        public int IncorrectAnswerCount = 0;
        int NumberOne = 0;
        int NumberTwo = 0;

        public Form1()
        {
            InitializeComponent();
            CreateRandomQuestion();
        }

        private void btnSolve_Click(object sender, EventArgs e)
        {
            int TotalAmount = NumberOne + NumberTwo;
            int UserInputs = Convert.ToInt32(txtInput.Text);

            if (TotalAmount == UserInputs)
            {
                lblRightorWrong.Text = "Correct!";
                CorrectAnswerCount++;
                txtAmountCorrect.Text = CorrectAnswerCount.ToString();
            }
            else
            {
                lblRightorWrong.Text = "Incorrect!";
                IncorrectAnswerCount++;
                txtAmountWrong.Text = IncorrectAnswerCount.ToString();
            }

            CreateRandomQuestion();
        }

        public void CreateRandomQuestion()
        {
            Random rand = new Random();
            NumberOne = rand.Next(500) + 100;
            NumberTwo = rand.Next(500) + 100;
            lblEquation.Text = NumberOne.ToString() + " + " + NumberTwo.ToString() + "= ?";
            txtInput.Clear();
        }
    }
...