2015-01-07 3 views
-2

Это не будет работать MsgBox для ошибок при некорректном вводе данныхElseIf Заявление не доходя MsgBox Ошибка

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     Dim weight As Decimal 
     Dim height As Decimal 
     Dim bmi As Decimal 
     weight = InputBox("enter weight") 
     height = InputBox("enter height") 
     If weight > 10 And weight <= 600 And height >= 0.5 And height <= 2.7 Then 
      bmi = weight/(height)^2 
     ElseIf weight <= 10 And weight > 600 Then 
      MsgBox("you have enterd in valid data it must be above 10 and below or equal 600") 
     ElseIf height < 0.5 And height > 2.7 Then 
      MsgBox("you have enterd in valid data it must between 0.5 and 2.7 inclusive") 
     End If 
     TextBox1.Text = bmi 
End Sub 

ответ

2

Ваша ошибка здесь

ElseIf weight <= 10 And weight > 600 Then 
     MsgBox("you have enterd in valid data it must be above 10 and below or equal 600") 
    ElseIf height < 0.5 And height > 2.7 Then 
     MsgBox("you have enterd in valid data it must between 0.5 and 2.7 inclusive") 
    End If 

Ваш вес никогда не будет меньше или равным 10 И более 600 одновременно. То же самое относится и к высоте

Вы должны использовать OR вместо AND

+0

ура не понимала, что я использовал «и», а не «или», –

0

Пожалуйста, ознакомьтесь с условиями. Значение не может быть меньше 10, а также больше 600. например. позволяет принимать весовое значение = 3. составляет менее 10, но не более 600.

Исправьте свои условия.

Смежные вопросы