none
C# and Windows Forms RRS feed

  • Вопрос

  • Доброго времени суток!
    Есть textbox1 и textbox2 на форме,должен в textbox1 вводить 4 разные цифры по очереди,каждый раз одну цифру,а в коде должен подсчитать средняя значения сумм этих цифр и это значение присвоить textbox2.
    25 ноября 2015 г. 16:52

Ответы

  •         private void textbox1_TextChanged(object sender, TextChangedEventArgs e)
            {
                int x;
                double sum = 0;
                string s=textbox1.Text;
                int iCol = s.Length;
                for (int i = 0; i < iCol; i++)
                {
                    int.TryParse(s[i].ToString(), out x);
                    sum += x;
                }
                if (iCol == 0) textbox2.Text = "";
                else textbox2.Text = (sum / iCol).ToString("0.00");
            }
    Ну как-то так выглядел бы код, если бы эту задачу решала я. Плюс настройка допустимых символов...

    25 ноября 2015 г. 20:59

Все ответы

  • Вы хотите, что бы за вас код написали?

    VB.Net - WPF, UWP

    25 ноября 2015 г. 17:00
    Отвечающий
  •   private void button1_Click(object sender, EventArgs e)
            {
                int sum = 0;
                List<int> list = new List<int>();
                if (!(textBox17.Text == null))
                {
                    
                    list.Add(int.Parse(textBox17.Text));
                    for (int i = 0; i < list.Count; i++)
                    {
                        sum += list[i];
                    }
                    textBox17.Clear();       
                }
                textBox18.Text = (sum / 4).ToString();
            }

    25 ноября 2015 г. 17:25
  • вот код но не работает
    25 ноября 2015 г. 17:26
  • В Вашем коде значение textBox17 по нажатию на button1 заносится в лист. После чего по листу, в котором заведомо 1 элемент, Вы проходите циклом считая сумму. Эта сумма всегда будет равна значению textBox17. А результат в textBox18 всегда будет равен результату textBox17 разделенному на 4.

    25 ноября 2015 г. 18:43
  • Я бы решил Вашу задачу так:

    По какому-то событию (внешнему или событию TextBox-а) увеличивал бы сумму на значение textBox17, считая количество прибавлений.

    После достижения 4 прибавлений сделал бы textBox17 неактивным и посчитал бы среднее разделив на количество прибавлений.

    Данный код можно сделать универсальным считая среднее по достижении какого-либо события (нажатие на кнопку).

    25 ноября 2015 г. 18:51
  •         private void textbox1_TextChanged(object sender, TextChangedEventArgs e)
            {
                int x;
                double sum = 0;
                string s=textbox1.Text;
                int iCol = s.Length;
                for (int i = 0; i < iCol; i++)
                {
                    int.TryParse(s[i].ToString(), out x);
                    sum += x;
                }
                if (iCol == 0) textbox2.Text = "";
                else textbox2.Text = (sum / iCol).ToString("0.00");
            }
    Ну как-то так выглядел бы код, если бы эту задачу решала я. Плюс настройка допустимых символов...

    25 ноября 2015 г. 20:59