2009-03-11 5 views
0

J'ai un formulaire qui a 3 zones de texte pour 3 valeurs d'entrée, avec une zone de liste pour la sortie. J'ai besoin que l'utilisateur puisse entrer 3 nombres différents et cliquer sur un bouton pour trouver la moyenne. Je ne suis pas vraiment sûr de savoir comment faire/approcher cela. Toute aide est grandement appréciée.VB.net Moyenne de 3 chiffres de deux manières différentes. Débutants question

Coincé .... Encore

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 
+0

Quelle partie (s) de celui-ci ne sont pas sûr de vous? –

+0

1. Obtenez les données de chaque champ en entiers (ou réels selon le cas). 2. Ajoutez-les. 3. Divisez la somme par 3.0. 4. Affichez le résultat. Quelles sont les parties de ce problème? –

Répondre

3

Vous ne savez pas sur la façon de convertir l'entrée aux numéros? Si c'est le cas, utilisez la fonction 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 
+0

Ok maintenant je me sens bête. Merci pour l'aide! – Davey

+0

J'utiliserais plutôt Integer.TryParse. –

+0

@Dustin, vous êtes un pas de plus vers une véritable dépendance à SO! – JaredPar

-2
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 
+0

alors que votre réponse semble correcte, je pense que vous devriez l'expliquer puisque le PO est certes un débutant. –

+0

Vous ajoutez des articles à une liste sans les ajouter. – JaredPar

0

@JaredPar

J'utiliser Integer.TryParse à la place.

+0

Oui TryParse serait une méthode plus sûre de le faire. – JaredPar

0

Cette fonction calcule la moyenne d'un certain nombre de valeurs non nulles:

''' <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 

Utilisation:

Me.TextBox1.Text = PromedioValores(10, 0, 0, 15, 0, 12, 12, 0)