Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

 
 
Thread Tools Display Modes
Prev Previous Post in Thread   Next Post in Thread Next
Old Mar 9th, 2007, 9:14 PM   #1
NDawg28
Newbie
 
Join Date: Mar 2007
Posts: 1
Rep Power: 0 NDawg28 is on a distinguished road
VB Phone Number to Name...

I'm doing a problem out of a book I'm self-teaching with, and this particular problem calls for converting a 7 digit phone number into the different combinations of words that can be made from 3 characters corresponding to each of the numbers from 2-9. The code I have so far for this is:
Public Class Form1

Private Sub btnGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGenerate.Click

Dim phoneNumber As String = txtNumber.Text

Dim charNumber2() As Char = {"A", "B", "C"}
Dim charNumber3() As Char = {"D", "E", "F"}
Dim charNumber4() As Char = {"G", "H", "I"}
Dim charNumber5() As Char = {"J", "K", "L"}
Dim charNumber6() As Char = {"M", "N", "O"}
Dim charNumber7() As Char = {"P", "R", "S"}
Dim charNumber8() As Char = {"T", "U", "V"}
Dim charNumber9() As Char = {"W", "X", "Y"}

Dim numberArray(7) As Char

For i As Integer = 0 To 6
numberArray(i) = phoneNumber.Substring(i)
Next

Dim letters1(3) As Char
Dim letters2(3) As Char
Dim letters3(3) As Char
Dim letters4(3) As Char
Dim letters5(3) As Char
Dim letters6(3) As Char
Dim letters7(3) As Char

Select Case numberArray(1)
Case Is = "2"
For k As Integer = 0 To 2
letters1(k) = charNumber2(k)
Next
Case Is = "3"
For k As Integer = 0 To 2
letters1(k) = charNumber3(k)
Next

Case Is = "4"
For k As Integer = 0 To 2
letters1(k) = charNumber4(k)
Next

Case Is = "5"
For k As Integer = 0 To 2
letters1(k) = charNumber5(k)
Next

Case Is = "6"
For k As Integer = 0 To 2
letters1(k) = charNumber6(k)
Next

Case Is = "7"
For k As Integer = 0 To 2
letters1(k) = charNumber7(k)
Next
Case Is = "8"
For k As Integer = 0 To 2
letters1(k) = charNumber8(k)
Next

Case Is = "9"
For k As Integer = 0 To 2
letters1(k) = charNumber9(k)
Next
End Select
Select Case numberArray(2)
Case Is = "2"
For k As Integer = 0 To 2
letters2(k) = charNumber2(k)
Next
Case Is = "3"
For k As Integer = 0 To 2
letters2(k) = charNumber3(k)
Next

Case Is = "4"
For k As Integer = 0 To 2
letters2(k) = charNumber4(k)
Next

Case Is = "5"
For k As Integer = 0 To 2
letters2(k) = charNumber5(k)
Next

Case Is = "6"
For k As Integer = 0 To 2
letters2(k) = charNumber6(k)
Next

Case Is = "7"
For k As Integer = 0 To 2
letters2(k) = charNumber7(k)
Next
Case Is = "8"
For k As Integer = 0 To 2
letters2(k) = charNumber8(k)
Next

Case Is = "9"
For k As Integer = 0 To 2
letters2(k) = charNumber9(k)
Next
End Select
Select Case numberArray(3)
Case Is = "2"
For k As Integer = 0 To 2
letters3(k) = charNumber2(k)
Next
Case Is = "3"
For k As Integer = 0 To 2
letters3(k) = charNumber3(k)
Next

Case Is = "4"
For k As Integer = 0 To 2
letters3(k) = charNumber4(k)
Next

Case Is = "5"
For k As Integer = 0 To 2
letters3(k) = charNumber5(k)
Next

Case Is = "6"
For k As Integer = 0 To 2
letters3(k) = charNumber6(k)
Next

Case Is = "7"
For k As Integer = 0 To 2
letters3(k) = charNumber7(k)
Next
Case Is = "8"
For k As Integer = 0 To 2
letters3(k) = charNumber8(k)
Next

Case Is = "9"
For k As Integer = 0 To 2
letters3(k) = charNumber9(k)
Next
End Select
Select Case numberArray(4)
Case Is = "2"
For k As Integer = 0 To 2
letters4(k) = charNumber2(k)
Next
Case Is = "3"
For k As Integer = 0 To 2
letters4(k) = charNumber3(k)
Next

Case Is = "4"
For k As Integer = 0 To 2
letters4(k) = charNumber4(k)
Next

Case Is = "5"
For k As Integer = 0 To 2
letters4(k) = charNumber5(k)
Next

Case Is = "6"
For k As Integer = 0 To 2
letters4(k) = charNumber6(k)
Next

Case Is = "7"
For k As Integer = 0 To 2
letters4(k) = charNumber7(k)
Next
Case Is = "8"
For k As Integer = 0 To 2
letters4(k) = charNumber8(k)
Next

Case Is = "9"
For k As Integer = 0 To 2
letters4(k) = charNumber9(k)
Next
End Select
Select Case numberArray(5)
Case Is = "2"
For k As Integer = 0 To 2
letters5(k) = charNumber2(k)
Next
Case Is = "3"
For k As Integer = 0 To 2
letters5(k) = charNumber3(k)
Next

Case Is = "4"
For k As Integer = 0 To 2
letters5(k) = charNumber4(k)
Next

Case Is = "5"
For k As Integer = 0 To 2
letters5(k) = charNumber5(k)
Next

Case Is = "6"
For k As Integer = 0 To 2
letters5(k) = charNumber6(k)
Next

Case Is = "7"
For k As Integer = 0 To 2
letters5(k) = charNumber7(k)
Next
Case Is = "8"
For k As Integer = 0 To 2
letters5(k) = charNumber8(k)
Next

Case Is = "9"
For k As Integer = 0 To 2
letters5(k) = charNumber9(k)
Next
End Select
Select Case numberArray(6)
Case Is = "2"
For k As Integer = 0 To 2
letters6(k) = charNumber2(k)
Next
Case Is = "3"
For k As Integer = 0 To 2
letters6(k) = charNumber3(k)
Next

Case Is = "4"
For k As Integer = 0 To 2
letters6(k) = charNumber4(k)
Next

Case Is = "5"
For k As Integer = 0 To 2
letters6(k) = charNumber5(k)
Next

Case Is = "6"
For k As Integer = 0 To 2
letters6(k) = charNumber6(k)
Next

Case Is = "7"
For k As Integer = 0 To 2
letters6(k) = charNumber7(k)
Next
Case Is = "8"
For k As Integer = 0 To 2
letters6(k) = charNumber8(k)
Next

Case Is = "9"
For k As Integer = 0 To 2
letters6(k) = charNumber9(k)
Next
End Select
Select Case numberArray(7)
Case Is = "2"
For k As Integer = 0 To 2
letters7(k) = charNumber2(k)
Next
Case Is = "3"
For k As Integer = 0 To 2
letters7(k) = charNumber3(k)
Next

Case Is = "4"
For k As Integer = 0 To 2
letters7(k) = charNumber4(k)
Next

Case Is = "5"
For k As Integer = 0 To 2
letters7(k) = charNumber5(k)
Next

Case Is = "6"
For k As Integer = 0 To 2
letters7(k) = charNumber6(k)
Next

Case Is = "7"
For k As Integer = 0 To 2
letters7(k) = charNumber7(k)
Next
Case Is = "8"
For k As Integer = 0 To 2
letters7(k) = charNumber8(k)
Next

Case Is = "9"
For k As Integer = 0 To 2
letters7(k) = charNumber9(k)
Next
End Select

For a As Integer = 0 To 2
For b As Integer = 0 To 2
For c As Integer = 0 To 2
For d As Integer = 0 To 2
For z As Integer = 0 To 2
For f As Integer = 0 To 2
For g As Integer = 0 To 2
txtNames.Text += letters1(a) + letters2(b) + letters3(c) + letters4(d) + letters5(z) + letters6(f) + letters7(g)
txtNames.Text &= vbTab
Next
Next
Next
Next
Next
Next
Next
End Sub
End Class

I know that the case structures could have been condensed into one, but I was trying to minimize the memory usage and processing time. My problem is this: Instead of outputing - abcdefg...abcdefh...abcdefi - it will output - abcdefg...abcdefg...abcdefg -, repeating the same combination three times before moving on to the next combination. Anyone know why?
P.S.-- I know this code may be terribly written, so any suggestions for improving the code for better memory usage, etc. would be appreciated.
NDawg28 is offline   Reply With Quote
 

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
c-unix-childprocesses-random number programmingnoob C 7 Feb 6th, 2007 8:39 PM
Jython Jessehk Coder's Corner Lounge 2 Feb 5th, 2006 4:35 AM
[tutorial] Python for programming beginners coldDeath Python 30 Dec 14th, 2005 11:35 AM
FiveDigit + RandomeNumber Game. TecBrain Java 0 Nov 18th, 2005 2:53 PM
Number Systems... Ade Coder's Corner Lounge 7 Jan 19th, 2005 5:32 AM




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 1:31 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC