используя текстовое поле для ввода данных в текстовое поле оценки - PullRequest
0 голосов
/ 09 ноября 2018

Вот правильный пример
enter image description here

Необходимо использовать типы данных int.

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

Вот что я получу в своем коде: enter image description here

       //create a string for the name 
        string name = txtName.Text;
        // create a int for the number 

        // have those now have to get three amounts 
        // for each name then store that 
        // make a size three array
        //innt to put the array in the for loop
        int[] x = new int[3];



        for (int i = 0; i < x.Length; i++)
        {
            //txtScore.Text
            //txtStoreScores.Text
            int covert = Int32.Parse(txtScore.Text);
            x[i] = covert;
            txtStoreScores.AppendText(x[i].ToString());

            // ok I just need one number 
            // and split them by each number
        }

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Честно говоря, хотя вы выбрали ответ, эта обратная связь может быть полезна для будущих решений. Однажды сработавшая ваша кнопка должна вызвать событие, внутри которого вы могли бы убедиться, что вы правильно санируете ввод пользователя. Предположим, что пользователь вызовет ошибку, потому что количество переменных, которые они могут ввести, бесконечно.

protected void btnAddScore_Click(object sender, EventArgs e)
{
     if(float.TryParse(txtGrade.Text, out grade) && grade >= 0)
          txtScores.Text += $"{grade}, ";
}

Это простое условное выражение санирует, гарантируя, что пользователь ввел правильное число и оценка выше нуля. Тем более что отрицательное число маловероятно. Основной момент, ваш код должен отражать использование. Ваш код должен учитывать те аномалии и отклонения, которые могут возникнуть.

Еще одно изящное понятие, вы выводите напрямую на основе ввода. Когда вы сохраните эту информацию, вам нужно будет проанализировать данные. Итак, осознайте, что вам может понадобиться что-то вроде этого:

var scores = txtScores.Text.Split(','); // An array.
txtScores.Text = String.Join(",", scores); // Converts array into single string

С течением времени проблема усложняется, так что имейте это в виду. Надеюсь, это было полезно. Что касается вашей математики, если вы сделаете следующее, она будет рассчитывать:

var sum = txtScores.Text.Split(", ").Sum(grade => (float)grade); 

Вышесказанное делает потенциально ошибочное предположение, что все бросят на поплавок без проблем. Это те вещи, о которых вам нужно подумать. Если вы не выполните приведение, ваша сумма будет отражена по длине строки, а не по значениям.

0 голосов
/ 09 ноября 2018

если я правильно понимаю это !!! Вы хотите добавлять число из txtScore в txtStoreScores каждый раз, когда нажимаете кнопку Add Scores btn !!!!

в этом случае вам не нужен цикл, просто поместите его в обработчик событий Add Scores btn txtStoreScores.Text + = txtScore.Text + "";

Вы должны дать более подробную информацию и ясный вопрос. Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...