LordDraagon
LordDraagon

Reputation: 591

How to Loop through a If condition untill the user enter a required value, in Visual Basic

Console.WriteLine("Please Enter the number")
Dim number As Integer = Console.ReadLine()

If (number=< 40) Then
    number = number* 10
ElseIf (number=< 150) Then
    number= number* 15
Else
    number= number* 26
End If
Console.WriteLine(number)

Dim total As Integer
Dim vALUE As Integer

   Console.WriteLine("Please, type 1 for x . Type 2 for y. Type 3 z")
vALUE = Console.ReadLine()

If vALUE = 1 Then
    Console.WriteLine("x")
    total = number* (106 / 100)

ElseIf vALUE = 2
    Console.WriteLine("y")
    total = number* (112 / 100)

ElseIf uSERvALUE = 3
    Console.WriteLine("z")
    total = number* (116 / 100)

Else
    Console.WriteLine("Sorry please re-enter the value")
    vALUE = Nothing


End If

End While

Please tell me how to repeat the if condition. In the else line I have displayed to the user to re-enter the value. Therefore I need to repeat the if condition until the value is 1 or 2 or 3.Please explain how to do I'm a newbie.

Upvotes: 0

Views: 1587

Answers (1)

Ju-Hsien Lai
Ju-Hsien Lai

Reputation: 733

You can use infinite While-loop ,and put "Exit While" on the end of conditional statement you agreed , so there are few ways out from infinite loop.

For example , on your code:

Console.WriteLine("Please Enter the number")
    Dim number As Integer = Console.ReadLine()

    If (number=< 40) Then
        number = number* 10
    ElseIf (number=< 150) Then
        number= number* 15
    Else
        number= number* 26
    End If
    Console.WriteLine(number)

    Dim total As Integer
    Dim vALUE As Integer

'infinite loop until user input 1,2 or 3
While True

    Console.WriteLine("Please, type 1 for x . Type 2 for y. Type 3 z")
    vALUE = Console.ReadLine()

    If vALUE = 1 Then
        Console.WriteLine("x")
        total = number* (106 / 100)
        Exit While    'condition matched , break from While 
    ElseIf vALUE = 2
        Console.WriteLine("y")
        total = number* (112 / 100)
        Exit While    'condition matched , break from While 
    ElseIf uSERvALUE = 3
        Console.WriteLine("z")
        total = number* (116 / 100)
        Exit While    'condition matched , break from While 
    Else
        Console.WriteLine("Sorry please re-enter the value")
        vALUE = Nothing


    End If

End While

'do further more you need

Upvotes: 1

Related Questions