Imports System.IO Module Module1 Function FindSyllables(ByVal s As String) As Integer Dim l As Integer Dim num As Integer num = 0 For l = 0 To s.Length - 1 If s.Chars(l) = " " Or s.Chars(l) = "-" Then num = num + 1 End If Next l Return num + 1 End Function Sub Main() Dim fsIn As New FileStream("DATA32.txt", FileMode.Open, FileAccess.Read) Dim infile As New StreamReader(fsIn) Dim fsOut As New FileStream("OUT32.txt", FileMode.Create, FileAccess.Write) Dim outfile As New StreamWriter(fsOut) Dim x As Integer Dim LineNumber As Integer Dim strLine As String Dim numsyllables As Integer Dim maxincorrect As Integer Dim strout As String For x = 1 To 5 maxincorrect = 0 For LineNumber = 1 To 5 strLine = infile.ReadLine numsyllables = FindSyllables(strLine) Select Case LineNumber Case 1 If numsyllables <> 2 Then If numsyllables < 2 Then If 2 - numsyllables > maxincorrect Then maxincorrect = 2 - numsyllables strout = "LINE " & Trim(Str(LineNumber)) & " - " & Trim(Str(2 - numsyllables)) & " SYLLABLE(S) TOO FEW" End If Else If numsyllables - 2 > maxincorrect Then maxincorrect = numsyllables - 2 strout = "LINE " & Trim(Str(LineNumber)) & " - " & Trim(Str(numsyllables - 2)) & " SYLLABLE(S) TOO MANY" End If End If End If Case 2 If numsyllables <> 4 Then If numsyllables < 4 Then If 4 - numsyllables > maxincorrect Then maxincorrect = 4 - numsyllables strout = "LINE " & Trim(Str(LineNumber)) & " - " & Trim(Str(4 - numsyllables)) & " SYLLABLE(S) TOO FEW" End If Else If numsyllables - 4 > maxincorrect Then maxincorrect = numsyllables - 4 strout = "LINE " & Trim(Str(LineNumber)) & " - " & Trim(Str(numsyllables - 4)) & " SYLLABLE(S) TOO MANY" End If End If End If Case 3 If numsyllables <> 6 Then If numsyllables < 6 Then If 6 - numsyllables > maxincorrect Then maxincorrect = 6 - numsyllables strout = "LINE " & Trim(Str(LineNumber)) & " - " & Trim(Str(6 - numsyllables)) & " SYLLABLE(S) TOO FEW" End If Else If numsyllables - 6 > maxincorrect Then maxincorrect = numsyllables - 6 strout = "LINE " & Trim(Str(LineNumber)) & " - " & Trim(Str(numsyllables - 6)) & " SYLLABLE(S) TOO MANY" End If End If End If Case 4 If numsyllables <> 8 Then If numsyllables < 8 Then If 8 - numsyllables > maxincorrect Then maxincorrect = 8 - numsyllables strout = "LINE " & Trim(Str(LineNumber)) & " - " & Trim(Str(8 - numsyllables)) & " SYLLABLE(S) TOO FEW" End If Else If numsyllables - 8 > maxincorrect Then maxincorrect = numsyllables - 8 strout = "LINE " & Trim(Str(LineNumber)) & " - " & Trim(Str(numsyllables - 8)) & " SYLLABLE(S) TOO MANY" End If End If End If Case 5 If numsyllables <> 2 Then If numsyllables < 2 Then If 2 - numsyllables > maxincorrect Then maxincorrect = 2 - numsyllables strout = "LINE " & Trim(Str(LineNumber)) & " - " & Trim(Str(2 - numsyllables)) & " SYLLABLE(S) TOO FEW" End If Else If numsyllables - 2 > maxincorrect Then maxincorrect = numsyllables - 2 strout = "LINE " & Trim(Str(LineNumber)) & " - " & Trim(Str(numsyllables - 2)) & " SYLLABLE(S) TOO MANY" End If End If End If End Select Next LineNumber outfile.WriteLine(strout) Next x infile.Close() fsIn.Close() outfile.Close() fsOut.Close() End Sub End Module