VB.net Média de 3 números duas maneiras diferentes. pergunta iniciantes
Pergunta
Eu tenho um formulário que tem 3 caixas de texto para 3 valores de entrada, juntamente com uma caixa de listagem para a saída. Eu preciso que o usuário seja capaz de entrada 3 números diferentes e clique em um botão para encontrar a média. Eu não estou realmente certo de como fazer / abordar isso. Qualquer ajuda é muito apreciada.
Ainda preso ....
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
Solução
Você não tem certeza sobre como converter a entrada de números? Se assim for usar a função 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
Outras dicas
@ JaredPar
Gostaria de usar Integer.TryParse vez.
Esta função calcula a média de qualquer número de valores diferentes de zero:
''' <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
Use:
Me.TextBox1.Text = PromedioValores(10, 0, 0, 15, 0, 12, 12, 0)
protected sub on_btn_click()
listbox1.items.add(new listitem((integer.parse(textbox1.text) + integer.parse(textbox2.text) + integer.parse(textbox3.text)) / 3 ))
end sub
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow