随机数生成器

要求界面,生成个数和位数可任意设定
还有个要求 用VB编写
能不能把完整程序写下,看的不是很明白!!!

可验证的代码: 

Private m As Integer, n As Integer 

Private Sub Command1_Click() 

If IsNumeric(Text1) = False Then '位数保护 

MsgBox "位数必须输入数字" 

Text1.SetFocus 

Else 

If Val(Trim(Text1)) < 1 Or Val(Trim(Text1)) > 4 Then 

MsgBox "位数是1~4的正整数" 

Text1 = "" 

Text1.SetFocus 

End If 

End If 

If IsNumeric(Text2) = False Then '个数保护 

MsgBox "个数必须输入数字" 

Text2.SetFocus 

Else 

If Val(Trim(Text2)) < 1 Or Val(Trim(Text2)) > 100 Then 

MsgBox "个数是1~100的正整数" 

Text2 = "" 

Text2.SetFocus 

End If 

End If 

Text3 = "" 

Dim i As Integer, k As Integer 

m = Val(Trim(Text1)) 

n = Val(Trim(Text2)) 

For i = 1 To n '产生n个随机数 

Randomize 

Select Case m '区别位数 

Case 1 

k = 1 + Int(Rnd * 9) 

Case 2 

k = 10 + Int(Rnd * 90) 

Case 3 

k = 100 + Int(Rnd * 900) 

Case 4 

k = 1000 + Int(Rnd * 9000) 

End Select 

Text3 = Text3 & k & "," '填充文本框 

Next i 

End Sub 

说明: 

1、设定范围:位数<=4, 个数<=100 

2、界面说明:两个标签、两个普通文本框、一个按钮、一个多行文本框text3 

3、对位数和个数的输入值,有验证 

效果如下图。不知偶理解楼主意思没有?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-19
随机数生成可用rnd*a+1才完成.
Dim a%, b%,
Private Sub Timer1_Timer()'窗体上加个时间控件,就可以在规定的间隔
a = Rnd * 10 + 1 '时间产生随机1-10的数,b是控制产生5个后退出,
Print a '如果要产生两位数的,就把10换成100,依此类推,1000,10000...
b = b + 1 '哦,我现在是看明白了,好吧,左边的代码是基础,我就不删了.
If b = 5 Then '在窗体上加两lable1,2和两text1,2.不多说,text1,2分别接
End '收个数和位数.c=val(text1.text);d=val(text2.text)
End If 'val是把字符换成数字,把左边代码中10换成c,5换成d就可以
End Sub '了/
第2个回答  2020-02-18
第3个回答  2009-04-19
绿色网站查下看看有没。里面有多软件。
相似回答