2015-11-20 2 views
-1

Я новичок в визуальном базовом, и я использую Visual Studio 2008 Express Edition.VB.NET - Как рассчитать среднее значение из текстового поля

Мне нужно создать программу для вычисления класса/среднего.

Нужно ли повторять, если/then/else для каждого текстового поля?

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

enter image description here

Я не уверен, как в среднем этих значений.

Нужно ли мне создавать много повторяющихся условных утверждений?

+0

Привет Rain - Добро пожаловать в Stack Overflow (SO) - пожалуйста, найдите время, чтобы посмотреть на этой странице [спросить] - Это очень полезно показать, как задавать хорошие вопросы - Обычно SO для людей, которые имеют написаны некоторые коды и по-прежнему возникают проблемы. У вас есть поиск в google для «калькулятора классов», есть много полезных результатов. Адаптируйте код к вашим потребностям, и если у вас все еще есть проблемы, добавьте новый вопрос, чтобы включить код, который вы до сих пор, что вы хотите, чтобы он делал и что он на самом деле делает, и любые ошибки, которые вы получаете. –

+1

Расчет среднего значения тот же, независимо от того, какой язык вы используете или как вы получаете ввод. Добавьте значения вместе, разделите их на количество значений, и вы получите среднее значение. С какими особенностями вы испытываете трудности? –

ответ

0

Я бы рекомендовал начать с нескольких операторов if, которые добавят по 1 байт к переменной, если текстовое поле имеет значение. Повторите эту инструкцию для каждого текстового поля.

Затем добавьте значения каждого текстового поля.

Наконец, разделите сумму значений каждого текстового поля на количество текстовых полей, содержащих значение, которое вы бы подсчитали с помощью инструкций if/then ранее.

Таким образом, в случае щелчка на кнопке Вычислить, это может выглядеть следующим образом (написано в vb.net):

Dim Count as Integer = 0 
If txtMath.text <> "" Then Count += 1 
If txtEnglish.text <> "" Then Count += 1 
If txtScience.text <> "" Then Count += 1 
If txtFilipino.text <> "" Then Count += 1 
If txtPE.text <> "" Then Count += 1 

Dim Sum as decimal = (txtmath.text + txtenglish.text + txtScience.text + txtFilipino.text + txtPE.text)/Count 
+2

Добавление текста не добавит числовых значений, а скорее контактирует с ними, поэтому не дает ожидаемой вещи (и с помощью опции Strict On даже не будет компилироваться) – Sehnsucht

+0

Прошу прощения, я полусон. Я не мог вспомнить, будут ли они конвертировать неявно ... В этом случае, очевидно, нам нужно будет поместить Convert.toint32 (...) вокруг каждого из этих текстовых значений, чтобы преобразовать их в числовые значения ... – schizoid04

1

Попробуйте это.

Dim tbList As TextBox() = {txtMath, txtEnglish, txtScience, txtFilipino, txtPE} 
      Dim Ave As Double = 0 

      For Each item In tbList 

       If item.Text = Nothing Then 

        item.Text = "0" 

       End If 

       Ave += Val(item.Text) 

      Next 

      Ave = Ave/tbList.Length 

      lb_Average.Text = Ave.ToString 
Смежные вопросы