急求:VB编程题目,谢谢
一开始计算机会随机产生一个不重复的四位数,你要输入四位不重复的数与计算机给出的数作对比,如果与计算机给出的数的位置相同数字相同,那么将会显示"1个数值及位置猜对",如果数字相同而位置相不同,将会显示"1个数值猜对但位置不对"。例如:计算机的随机数字为:1634 ,我猜的数字为:1356 ,那么这时计算机会给你提示为:"1个数值及位置猜对,2个数值猜对但位置不对",也就是说,你猜的数字中,有一位数字是猜对的,而且数字位置都对,还有2个数字也猜对了,但是位置不对。看谁猜的次数少。
问题的解决方案:
2.根据问题描述,可以将问题解决分为六步:
①首先在Form中加入一个CommandButtion控件,在Command1上点击鼠标右键,选择复制,在窗体上点击鼠标右键,选择粘贴在窗体上粘贴出九个Command1,此时出现对话框问你要不要创建控件数组,在此选择是。然后再加入两个CommandButtion控件,一个ListBox、一个Frame、一个Label 。设置窗体的Caption属性为“猜一猜”、BorderStyle为1-Fixed Single、控件数组的Captin分别为0、1、2、3、4、5、6、7、8、9,Command2的Caption为“确定",Command3的Caption为“取消",Frame1的Caption为“提示:",Label1的Cpation为“0 个数值及位置猜对,0个数值猜对但位置不对”。然后选择菜单编辑器编辑菜单为:游戏、新游戏、显示答案、结束游戏,她们的Name属性分别为:Game、New、View、End。
②在Form_Load()事件中使除菜单外的所有的控件不可操作。
③在New_Click()事件中产生4个不同的随机数,并使Command2可操作。
④在Command1_Click(Index As Integer)中将控件数组的索引值作为所猜的数值,共按下控件数组Command1中的不同的4个。
⑤单击确定按钮时,判断用户输入是否正确
⑥单击菜单编辑器的显示答案,显示机器产生的随机数。
我是学Turbo C 的,对vb一窍不通 展开
Dim a(0 To 3)
Private Sub Command1_Click(Index As Integer)
List1.AddItem Index
End Sub
Private Sub Command2_Click()
Dim n, m
m = 0
n = 0
For i = 0 To 3
For j = 0 To 3
If List1.List(i) = a(j) And i = j Then
n = n + 1
End If
If List1.List(i) = a(j) And i <> j Then
m = m + 1
End If
Next j
Next i
Label1.Caption = n & "个数值猜对以及位置对;" & m & "个数值猜对但位置不对!"
End Sub
Private Sub end_Click()
End
End Sub
Private Sub Form_Load()
For i = 0 To 9
Command1(i).Enabled = False
Next i
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
Form1.PopupMenu game
End If
End Sub
Private Sub new_Click()
Randomize
For i = 0 To 3
a(i) = Int(Rnd * 10)
Next i
For i = 0 To 9
Command1(i).Enabled = True
Next i
List1.Clear
End Sub
Private Sub view_Click()
Label1.Caption = a(0) & a(1) & a(2) & a(3)
End Sub