|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
||||
|
||||
|
Visual Basic?
I need some Visual Basic.Net help. Im using an older edition, and I didn't see anything in the programming, so I put it here.....feel free to move it. I have code for the project (Pig Latin Translator) I am working on if anyone thinks they might be able to fix/help it. Thanks.
/code/ ' Uses select case to determine vowels and consonants, and to translate text to ' pig latin. Dim strInput As String = "" Dim str1stCharacter As String = "" Dim strOutput As String = "" Dim intStringLength As Integer = 0 strInput = txtInput.Text str1stCharacter = Microsoft.VisualBasic.Left(strInput, 1) Select Case str1stCharacter.ToUpper() Case "A", "E", "I", "O", "U" strOutput = strInput & "WAY" Case Else intStringLength = Len(strInput) strOutput = Microsoft.VisualBasic.Right(strInput, 3) & Microsoft.VisualBasic.Left(strInput, 2) & "AY" End Select MessageBox.Show("The Pig Latin Translation is: " & strOutput) Exit Sub /code/ |
|
#2
|
||||
|
||||
|
Re: Visual Basic?
We can probably help you, but it helps to know what's wrong with it/what it's not doing that it should/what's it's doing that it shouldn't.
--Ryan |
|
#3
|
||||
|
||||
|
Re: Visual Basic?
Here is the corrected code implemented in a console application.
Look at the comments for corrections. Code:
Imports System.Text
Module Module1
Sub Main()
Do
Dim input As String = Console.ReadLine
If String.IsNullOrEmpty(input) Then
Exit Sub
End If
Dim strOutput As String = GetPigLatin(input)
Console.WriteLine(String.Format("The Pig Latin Translation is: {0}", strOutput))
Loop
End Sub
Private Function GetPigLatin(ByVal input As String) As String
Dim words As String() = input.Split(" ")
Dim output As New StringBuilder() 'StringBuilder is much faster than regular string concatenation.
For Each word In words
output.Append(GetPigLatinWord(word))
output.Append(" ")
Next
Return output.ToString() 'Get the final string from the StringBuilder
End Function
Private Function GetPigLatinWord(ByVal strInput As String) As String
Dim str1stCharacter As String = ""
Dim strOutput As String = ""
Dim intStringLength As Integer = 0
str1stCharacter = Microsoft.VisualBasic.Left(strInput, 1)
Select Case str1stCharacter.ToUpper()
Case "A", "E", "I", "O", "U"
strOutput = strInput & "WAY"
Case Else
'THIS IS WHAT I CHANGED. You were using fixed lengths to capture from each end of the word.
'That meant that only 5 char words would work with your implementation.
strOutput = strInput.Substring(1) & strInput.Substring(0, 1) & "AY"
End Select
Return strOutput.ToLower 'makes output prettier
End Function
End Module
|
|
#4
|
||||
|
||||
|
Re: Visual Basic?
Oops. Its supposed to turn english text into pig latin, and then i have to calculate the number of words, the number of words starting with vowels, and percent of words that start with vowels,but i cant really get much to work. Like, if i type in "dog" i get "dog doay" instead of "ogday". but if i type in "aardvark" its correct and says "aardvarkway". Sorry for the confusion. And thank you EHaskins for the corrections. Ill have to check and fix mine tomorrow.
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Visual Basic | basicxman | IT / Communications | 11 | 11-13-2007 11:43 PM |
| Custom Dashboard - Visual Basic | Mike Lat | Programming | 3 | 01-23-2005 02:26 PM |
| Visual Basic | dddriveman | Programming | 12 | 03-20-2004 01:03 PM |
| Visual Basic 6 Dashboard | LBK Rules | Programming | 1 | 01-22-2003 01:06 PM |