在名称为Form1,标题为“输入3个Q结束输入”的窗体上,画三个文本框,名称为Text1、Text2、Text3初始内容

在名称为Form1,标题为“输入3个Q结束输入”的窗体上,画三个文本框,名称为Text1、Text2、Text3初始内容为空;三个标签,名称为Lab1、Lab2、Lab3... 在名称为Form1,标题为“输入3个Q结束输入”的窗体上,画三个文本框,名称为Text1、Text2、Text3初始内容为空;三个标签,名称为Lab1、Lab2、Lab3, 标题分别为“A的个数为”、“B的个数为”、“C的个数为”;三个命令按钮,一个名称为C1,标题为“输入并计数”;一个名称为C2,标题为“清除”; 另一个名称为C3,标题为“退出”;界面如图所示。
请编写适当的事件过程,使得在运行时,单击“输入并计数”按钮,由Inputbox输入10个任意字母,每次输一个,然后统计“A”“B”“C”的个数(不区分大小写),如果连续输入3个Q则结束输入。在Text1中显示“A”的个数,Text2中显示“B”的个数,Text3中显示“C”的个数。单击“清除”按钮,则清除3个文本框的内容,并使得焦点在C1上;单击"退出"按钮则退出应用程序。
展开
 我来答
百度网友bdb9803
2013-04-25 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:53%
帮助的人:1亿
展开全部
Private Sub C1_Click()
Dim s(10)
Text1 = 0
Text2 = 0
Text3 = 0
For i = 1 To 10
Do
s(i) = InputBox("输入第" & i & "个任意字母")
Loop Until Len(s(i)) = 1 And UCase(s(i)) >= "A" And UCase(s(i)) <= "Z"
If i >= 3 Then If UCase(s(i)) & UCase(s(i - 1)) & UCase(s(i - 2)) = "QQQ" Then Exit For
If UCase(s(i)) = "A" Then
Text1 = Val(Text1) + 1
ElseIf UCase(s(i)) = "B" Then
Text2 = Val(Text2) + 1
ElseIf UCase(s(i)) = "C" Then
Text3 = Val(Text3) + 1
End If
Next
End Sub
Private Sub C2_Click()
Text1 = "'"
Text2 = ""
Text3 = ""
C1.SetFocus
End Sub
Private Sub C3_Click()
Unload Me
End Sub

更正,倒数第8行改为

Text1 = ""

追问

能否不用 DO LOOP?这个还没学。能看下这个问题在那里吗?


这个是我写得。问题老是说inputbox那一步有问题,求解。


刚试了一下你这个,8,9,10行有语法错误啊。直接显示红色的了。。。

追答
百度知道又把代码显示乱码了,无奈。。。

你的代码基本没错,除了第一个定义:
Dim r%
改成:
Dim r$

另外,你没实现输入3个Q退出
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式