2009-03-11 5 views
0

3つの入力値用の3つのテキストボックスと、出力用のリストボックスを持つフォームがあります。私は3つの異なる数字を入力し、平均を見つけるためにボタンをクリックできるようにする必要があります。私はこれをどうやってやるのか本当に分かりません。どんな助けでも大歓迎です。VB.net 3つの数字の平均が2通りあります。初心者の質問

まだ立ち往生

....

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

についてわからないことのどの部分(複数可)? –

+0

1.各フィールドのデータを整数(または適切な場合は実数)にします。 2.それらを追加します。 3.合計を3.0で割ります。 4.結果を表示します。 これはどの部分に問題がありますか? –

答えて

3

あなたは数字の入力を変換する方法について不明な点はありますか?その場合は、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

今、私は気が気になりません。助けてくれてありがとう! – Davey

+0

代わりにInteger.TryParseを使用します。 –

+0

@ダスティン、あなたは真の中毒に一歩近づいています! – 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

あなたの答えは正しいように見えますが、私はあなたがそれを説明すべきだとOPは確かに初心者です。 –

+0

値を追加しないアイテムをリストに追加しています。 – JaredPar

0

@JaredPar

私の代わりにInteger.TryParseを使用します。

+0

はいTryParseはこれを行うより安全な方法です。 – JaredPar

0

この関数は、非ゼロ値の任意の数の平均を計算します。

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