2013-05-21 40 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

相关问题