2013-05-21 41 views
-4

我需要一個代碼,當你鍵入(A,I,O,U,E)數字符..我寫了這個,但它不工作..請幫助我..對不起我的英語不好爲什麼我在VB 6中的代碼不工作?

n = Val(InputBox("enter a number")) 
For i = 1 To Len(n) 
     k = Mid(n, i, 1) 
     k = LCase k 
    Select Case k 
      Case "a""i""o""u""e": t = t + 1 

    End Select 

Next 
Print t 
+0

http://stackoverflow.com/editing-help#code – SLaks

+0

你有什麼問題? – SLaks

+0

我的代碼劑量不工作..我需要知道我在哪裏輸入了錯誤 –

回答

5

val()將輸入值轉換爲數字,所以絕不會有任何元音..的情況下狀態取出和糾正缺少逗號:

Dim n As String, t As Long 
n = InputBox("enter a number") 

For i = 1 To Len(n) 
    Select Case LCase$(Mid$(n, i, 1)) 
     Case "a", "i", "o", "u", "e": t = t + 1 
    End Select 
Next 
Print t 
+0

非常感謝。我的問題已解決 –

+0

不要忘記幫助他人並將答案標記爲解決方案。 –

3

您的文字串a"i"o"u"e,這是檢查顯然不是你的意圖。

你可能打算:

n = Val(InputBox("enter a number")) 
For i = 1 To Len(n) 
    k = Mid(n, i, 1) 
    k = LCase k 
    Select Case k 
      Case "a", "i", "o", "u", "e": t = t + 1 
    End Select 

Next 
Print t 

您可以read hereCase語句是如何工作的。

+0

Agin什麼都沒發生...... –

+0

正如@AlexK在他的更廣泛的答案中指出的那樣,您正在使用'Val()'將字符串轉換爲整數。 –

+0

由於'LCase'調用中缺少括號,它也不會編譯。 – Deanna

相關問題