VB.net Среднее из 3 чисел двумя разными способами. Вопрос новичкам

У меня есть форма, в которой есть 3 текстовых поля для 3 входных значений, а также список для вывода. Мне нужно, чтобы пользователь мог ввести 3 разных числа и нажать кнопку, чтобы найти среднее значение. Я не совсем уверен, как это сделать/подойти. Любая помощь приветствуется.

Все еще застряли....

Private Sub btnAverage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)     
Handles btnAverage.Click
    Dim a As Integer = CInt(txtone.Text)
    Dim b As Integer = CInt(txtTwo.Text)
    Dim c As Integer = CInt(txtThree.Text)
    Dim average As Integer
    average = (a + b + c) / 3
    lstOutput.Text = average

person Davey    schedule 11.03.2009    source источник
comment
В какой его части вы не уверены?   -  person David Z    schedule 11.03.2009
comment
1. Превратите данные из каждого поля в целые числа (или вещественные числа, если это необходимо). 2. Сложите их. 3. Разделите сумму на 3,0. 4. Отобразите результат. Какие части этого являются проблемой?   -  person Kevin Conner    schedule 11.03.2009


Ответы (4)


Вы не знаете, как преобразовать ввод в числа? Если это так, используйте функцию CInt.

Public Sub OnAverageClick(ByVal sender as Object, ByVal e As EventArgs) Handles AverageButton.Click

    Dim input1 as Integer = CInt(textBox1.Text)
    Dim input2 as Integer = CInt(textBox2.Text)
    Dim input3 as Integer = CInt(textBox3.Text)
    Dim average = (input1 + input2 + input3) / 3

End Sub
person JaredPar    schedule 11.03.2009
comment
Хорошо, теперь я чувствую себя тупым. Спасибо за помощь! - person Davey; 11.03.2009
comment
Вместо этого я бы использовал Integer.TryParse. - person Daniel A. White; 11.03.2009
comment
@Dustin, ты на шаг ближе к настоящей зависимости от SO! - person JaredPar; 11.03.2009

@JaredPar

Вместо этого я бы использовал Integer.TryParse.

person Daniel A. White    schedule 11.03.2009
comment
Да, TryParse был бы более безопасным способом сделать это. - person JaredPar; 11.03.2009

Эта функция вычисляет среднее значение любого количества ненулевых значений:

''' <summary>Calcula el Promedio de los Valores ingresados.
''' Sólo tiene en cuenta los Valores mayores que 0.</summary>
''' <param name="diasValores">Valores a Calcular</param>
Function PromedioValores(ByVal ParamArray diasValores() As Integer)
    'Esta funcion calcula el promedio de los valores ingresados como parametro
    Dim result As Double = 0
    If diasValores.Length <= 0 Then Exit Function
    Dim cant As Integer = 0
    For i As Integer = 0 To UBound(diasValores, 1)
        If diasValores(i) > 0 Then
            cant = cant + 1
            result += diasValores(i)
        End If
    Next i
    If result > 0 Then
        result = result / cant
    End If

    Return result
End Function

Использовать:

Me.TextBox1.Text = PromedioValores(10, 0, 0, 15, 0, 12, 12, 0)
person Jhollman    schedule 25.03.2015

person    schedule
comment
хотя ваш ответ выглядит правильным, я думаю, вы должны объяснить его, поскольку ОП, по общему признанию, новичок. - person Evan Teran; 11.03.2009
comment
Вы добавляете элементы в список, не добавляя значения. - person JaredPar; 11.03.2009