VBNET编写抽奖软件程序

VBNET编写抽奖软件程序,第1张

把你的代码发出来。

你这种方式的程序只能弄一等奖吧,为什么会有二等奖三等奖?

获奖次数跟电话号码什么关系,为什么不派如能重复?族羡凯同一个号码不能多次获奖?那就不是重复的问题,你的提问有些不清不楚。

暂定的解决方案——

把随机生成的电话号码,赋值给公共数组,如果公共数组中存在新生成的电话号码,那么重新生成电话号码,如果电话号码不在数组中存在,那么将电话号码加入到数组中。重兆唤复以上过程,直至喊停。

Public Sub Main()

Dim allLeft As New List(Of Integer)()

For i As Integer = 0 To 99

allLeft.Add(i + 1)

Next

Dim r As New Random()

Dim [next] As Integer

Dim level As String

For i As Integer = 0 To 5

[next] = r.[Next]() Mod allLeft.Count

If i <3 Then

level = "Third"

ElseIf i <5 Then

level = "Second"

Else

level = "First"

End If

Console.WriteLine(level &" level prize is: " &allLeft([next]).ToString())

allLeft.RemoveAt([next])

Next

End Sub

只要在代码中使用随机函数即可态液实现随机抽取功能

一、vb随机数生成的方法

vb随机数生成函数是 Rnd[(number)],number 参数为可选项。在调用 Rnd 生成随机数之前,先使用 Randomize 初始化随机数生成器来产生种子,该生成器是根据系统计时器来产生种子的。

1、生成100以内的随机数

Randomize

Int(Rnd() * 100)//生成 0 - 99 之间的随机数

Int(Rnd() * 101)//生成 0 - 100 之间的随机数

   2、生成指定范围随机数

由于 vb 没有提供直接生成指帆芦物定范围随机数的函数,所以要把 Rnd 变通一下,方法如下:

Int((上限 - 下限 + 1) * Rnd + 下限)

把它封装成可直接调用的函数如下:

Function GetRandom(under, over As Integer) As Integer

If under <哗销 over Then

temp = under

under = over

over = temp

End If

Randomize

GetRandom = Int((under - over + 1) * Rnd + over)

End Function

调用方法:

GetRandom(10, 100)//生成10到100的随机数

二、vb.net生成随机数的方法

1、方法:Random.Next(int minValue, int maxValue)

2、说明:

若 minValue 和 maxValue 都没有提供,则生成一个 0 - 2147483647 之间的随机数;

若 minValue 和 maxValue 只提供一个,则生成一个 0 - maxValue 之间的随机数;

若 minValue 和 maxValue 两个都提供,则生成一个 minValue - maxValue 之间的随机数;

3、举例

Dim ran = New System.Random()

ran.Next()//生成 0 - 2147483647 之间的随机数

ran.Next(100)//生成 0 - 100 之间的随机数

ran.Next(10, 100)//生成 10 - 100 之间的随机数

Dim ran = New Random(DateTime.Now.Millisecond)//通过日期的微秒生成随机数


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8281501.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存