2017-04-18 5 views
0
Public Class Form1 

    Private Sub GroupBox1_Enter(sender As Object, e As EventArgs) Handles gpbx1.Enter 

    End Sub 

    Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles chk20.CheckedChanged 

    End Sub 


    Dim Age As Integer 
    Dim Gender As String 
    Dim Male As String 
    Dim Female As String 
    Dim child As String 
    Dim teen As String 
    Dim adult As String 
    Dim agerange As String 
    Dim TeenMan As String 
    Dim teengirl As String 
    Dim childgirl As String 
    Dim childboy As String 
    Dim adultman As String 
    Dim adultgirl As String 
    Dim agegen As String 

    Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles chk40.CheckedChanged 

    End Sub 

    Private Sub CheckBox4_CheckedChanged(sender As Object, e As EventArgs) Handles chk60.CheckedChanged 

    End Sub 

    Private Sub CheckBox9_CheckedChanged(sender As Object, e As EventArgs) 

    End Sub 

    Private Sub GroupBox1_Enter_1(sender As Object, e As EventArgs) Handles GroupBox1.Enter 

    End Sub 

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged 
     Age = TextBox1.Text() 

    End Sub 

    Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click 

    End Sub 

    Private Sub CheckBox6_CheckedChanged(sender As Object, e As EventArgs) Handles chk90.CheckedChanged 

    End Sub 
    Function determineage() 
     Age = Int(TextBox1.Text) 
     Return True 

    End Function 
    Function getgender() 
     If CheckBox7.Checked = True Then 
      Gender = Male 

     ElseIf CheckBox8.Checked = True Then 
      Gender = Female 

     ElseIf CheckBox7.Checked = False And CheckBox8.Checked = False Then 
      MessageBox.Show("Please select a gender") 
     End If 
     Return True 
    End Function 
    Function determineagerange() 
     If 20 < Age < 200 Then 
      agerange = adult 

     ElseIf 10 < Age < 20 Then 
      agerange = teen 

     ElseIf 10 < Age < 0 Then 
      agerange = child 

     End If 
     Return True 
    End Function 
    Function determineagegender() 
     If agerange = adult And Gender = Male Then 
      agegen = adultman 

     ElseIf agerange = adult And Gender = Female Then 
      agegen = adultgirl 

     ElseIf agerange = teen And Gender = Male Then 
      agegen = TeenMan 

     ElseIf agerange = teen And Gender = Female Then 
      agegen = teengirl 

     ElseIf agerange = child And Gender = Male Then 
      agegen = childboy 

     ElseIf agerange = child And Gender = Female Then 
      agegen = childgirl 


     End If 
     Return True 
    End Function 

    Function Temperature() 
     If chk20.Checked = True And agegen = TeenMan Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Teen\20.jpg") 
     ElseIf chk40.Checked = True And agegen = TeenMan Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Teen\40.jpg") 
     ElseIf chk50.Checked = True And agegen = TeenMan Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Teen\50.jpg") 
     ElseIf chk60.Checked = True And agegen = TeenMan Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Teen\60.jpg") 
     ElseIf chk80.Checked = True And agegen = TeenMan Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Teen\80.jpg") 
     ElseIf chk90.Checked = True And agegen = TeenMan Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Teen\90.jpg") 

     End If 

     If chk20.Checked = True And agegen = adultman Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Adult\20.jpg") 
     ElseIf chk40.Checked = True And agegen = adultman Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Adult\40.jpg") 
     ElseIf chk50.Checked = True And agegen = adultman Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Adult\50.jpg") 
     ElseIf chk60.Checked = True And agegen = adultman Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Adult\60.jpg") 
     ElseIf chk80.Checked = True And agegen = adultman Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Adult\80.jpg") 
     ElseIf chk90.Checked = True And agegen = adultman Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Adult\90.jpg") 

     End If 


     If chk20.Checked = True And agegen = childboy Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Child\20.jpg") 
     ElseIf chk40.Checked = True And agegen = childboy Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Child\40.jpg") 
     ElseIf chk50.Checked = True And agegen = childboy Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Child\50.jpg") 
     ElseIf chk60.Checked = True And agegen = childboy Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Child\60.jpg") 
     ElseIf chk80.Checked = True And agegen = childboy Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Child\80].jpg") 
     ElseIf chk90.Checked = True And agegen = childboy Then 
      PictureBox1.Load("H:\AP CSP\VB\MALE\Child\90.jpg") 

     End If 
     Return True 

    End Function 

function temperaturegirl() 

     If chk20.Checked = True And agegen = teengirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Teen\20.jpg") 
     ElseIf chk40.Checked = True And agegen = teengirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Teen\40.jpg") 
     ElseIf chk50.Checked = True And agegen = teengirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Teen\50.jpg") 
     ElseIf chk60.Checked = True And agegen = teengirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Teen\60.jpg") 
     ElseIf chk80.Checked = True And agegen = teengirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Teen\80.jpg") 
     ElseIf chk90.Checked = True And agegen = teengirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Teen\90.jpg") 

     End If 

     If chk20.Checked = True And agegen = adultgirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Adult\20.jpg") 
     ElseIf chk40.Checked = True And agegen = adultgirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Adult\30.jpg") 
     ElseIf chk50.Checked = True And agegen = adultgirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Adult\50.jpg") 
     ElseIf chk60.Checked = True And agegen = adultgirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Adult\60.jpg") 
     ElseIf chk80.Checked = True And agegen = adultgirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Adult\70.jpg") 
     ElseIf chk90.Checked = True And agegen = adultgirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Adult\90.jpg") 

     End If 


     If chk20.Checked = True And agegen = childgirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Child\20.jpg") 
     ElseIf chk40.Checked = True And agegen = childgirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Child\40.jpg") 
     ElseIf chk50.Checked = True And agegen = childgirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Child\50.jpg") 
     ElseIf chk60.Checked = True And agegen = childgirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Child\60.jpg") 
     ElseIf chk80.Checked = True And agegen = childgirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Child\80].jpg") 
     ElseIf chk90.Checked = True And agegen = childgirl Then 
      PictureBox1.Load("H:\AP CSP\VB\FEMALE\Child\90.jpg") 

     End If 



     Return True 
    End Function 

    Private Sub btcalc_Click(sender As Object, e As EventArgs) Handles btcalc.Click 
     getgender() 
     determineage() 
     determineagerange() 
     determineagegender() 
     If Gender = Male Then 
      Temperature() 
     ElseIf Gender = Female Then 
      temperaturegirl() 
     End If 



    End Sub 

    Private Sub CheckBox5_CheckedChanged(sender As Object, e As EventArgs) Handles chk80.CheckedChanged 

    End Sub 

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

    End Sub 

    Private Sub CheckBox7_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox7.CheckedChanged 

    End Sub 

    Private Sub CheckBox8_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox8.CheckedChanged 

    End Sub 
End Class 

ユーザーが入力した情報に基づいて画像を表示することがポイントですが、入力ごとに若い男の子の画像のみが表示されます。与えられた温度の画像は常に正しいですが、年齢と性別は間違っています。私のプログラムが間違った画像を表示する原因は何ですか?

+0

ここで詳細を説明する必要がありますが、そのまま答えるのは非常に難しいです。 – David

+0

デバッガでコードをステップ実行するとどうなりますか?あなたは、プログラムが従っている経路を見ることができなければならず、それは何が間違っているかを教えてくれるはずです。 –

答えて

1

このコードは実際には非常にひどく書かれていますが、あまりにも多くのことには入りません。

あなたの最大の問題は、常に空のすべての変数を作成していることです。

Gender,MaleおよびFemaleは、値なしの文字列変数として作成されます。

Gender = Maleを設定すると、Maleが空の文字列であるため、Genderを空の文字列に設定しています。 Gender = Femaleを設定しても同じことができます。

If Gender = Maleは、2つの空の文字列を比較しているため、常に成功します。

& Female個の変数を作成することをお勧めします。そして、文字列「男性」または「女性」に、この値を設定:年齢のための

If Gender = "Male" Then 

同じ問題:

Gender = "Male" 

その後、あなたのIf文の文字列に対して値をチェック範囲。

+0

ありがとうございます。私はそれが貧しいことを知っていますが、私は時間的制約の下にあり、私は一般的な言語とプログラミングの初心者です。変数を変更して修正しました!ご協力いただきありがとうございます! –

関連する問題