Good morning, I am currently working through every problem in the Visual Studio book to learn Visual Basic language. My program should take a intFrom to intTo number and then display only the even numbers between the entered numbers, such as I enter 1 to 9 and should display 2, 4, 6 ,8 but my loop is processing it 9 times instead. Please help me figure out what I am doing wrong. this is a modified code from the original project I created. Code is below.
’ Name: Numbers Project
’ Purpose: Display a list of numbers using various loops.
’ Programmer: Lisa Kordich on Aug. 20, 2019
Option Explicit On
Option Strict On
Option Infer Off
Public Class frmMain
Private Sub btnForNext_Click(sender As Object, e As EventArgs) Handles btnForNext.Click
’ Display a list of numbers.
Dim intFrom As Integer
Dim intTo As Integer
Integer.TryParse(txtFrom.Text, intFrom)
Integer.TryParse(txtTo.Text, intTo)
lstNumbers.Items.Clear()
' intNum is the counter
For intNum As Integer = intFrom To intTo
' To display even numbers between intFrom and intTo
If intFrom Mod 2 = 0 Then
intFrom += 2
'lstNumbers.Items.Add(intFrom)
Else intFrom += 1 'intFrom Mod 2 = 1 Then
End If
lstNumbers.Items.Add(intFrom)
'lstNumbers.Items.Add(intNum) ' Adds numbers in the lstNumbers box
Next intNum ' Adds 1 to the intNum counter
End Sub
Private Sub btnDoPretest_Click(sender As Object, e As EventArgs) Handles btnDoPretest.Click
' Display a list of numbers.
Dim intFrom As Integer
Dim intTo As Integer
Integer.TryParse(txtFrom.Text, intFrom)
Integer.TryParse(txtTo.Text, intTo)
lstNumbers.Items.Clear()
Do While intFrom <= intTo
lstNumbers.Items.Add(intFrom)
intFrom += 1
Loop
End Sub
Private Sub btnDoPosttest_Click(sender As Object, e As EventArgs) Handles btnDoPosttest.Click
' Display a list of numbers.
Dim intFrom As Integer
Dim intTo As Integer
Integer.TryParse(txtFrom.Text, intFrom)
Integer.TryParse(txtTo.Text, intTo)
lstNumbers.Items.Clear()
Do
If intFrom <= intTo Then
lstNumbers.Items.Add(intFrom)
intFrom += 1
End If
Loop While intFrom <= intTo
End Sub
Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
Me.Close()
End Sub
Private Sub txtFrom_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtFrom.KeyPress
' Accept only numbers and the Backspace key.
If (e.KeyChar < "0" OrElse e.KeyChar > "9") AndAlso e.KeyChar <> ControlChars.Back Then
e.Handled = True
End If
End Sub
Private Sub txtTo_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtTo.KeyPress
' Accept only numbers and the Backspace key.
If (e.KeyChar < "0" OrElse e.KeyChar > "9") AndAlso e.KeyChar <> ControlChars.Back Then
e.Handled = True
End If
End Sub
Private Sub txtFrom_Enter(sender As Object, e As EventArgs) Handles txtFrom.Enter
txtFrom.SelectAll()
End Sub
Private Sub txtTo_Enter(sender As Object, e As EventArgs) Handles txtTo.Enter
txtTo.SelectAll()
End Sub
Private Sub txtFrom_TextChanged(sender As Object, e As EventArgs) Handles txtFrom.TextChanged
lstNumbers.Items.Clear()
End Sub
Private Sub txtTo_TextChanged(sender As Object, e As EventArgs) Handles txtTo.TextChanged
lstNumbers.Items.Clear()
End Sub
End Class