VB中随机抽取学生姓名的程序

标签:
杂谈 |
分类: 电脑操作技巧 |
- 在本程序中,同学的学号、姓名信息均来自 初一五班选修课志愿表
-
Dim MyValue As Integer -
Dim last As Integer -
Dim counter As Long '注:使用long定义了计数器,则启动一次不进行重置,最多可生成(2^31-1+1)个随机数,在原基础上+1是因为初值为0
-
Private Sub make_Click() -
If counter = 0 Then '注:计数器为初值0,即程序第一次生产随机数时,运行下面语句 -
Randomize -
MyValue = Int((39 * Rnd()) + 1) -
last = MyValue -
counter = counter + 1 -
GoTo changetoname -
End If -
If counter >= 1 Then '注:当程序第二次或更多次生成随机数时,运行下面语句 -
Randomize -
MyValue = Int((39 * Rnd()) + 1) -
If MyValue = last Then GoTo redo '注:如果本次产生的随机值等于上一次的随机值,则跳转到redo部分,重新生成随机数。 -
last = MyValue -
counter = counter + 1 -
GoTo changetoname -
End If - redo:
-
Randomize
-
MyValue = Int((39 * Rnd()) + 1) -
If MyValue = last Then GoTo redo -
last = MyValue -
counter = counter + 1 -
GoTo changetoname - changetoname:
-
If MyValue = 1 Then -
final.Caption = "01 王金戈" -
End If -
If MyValue = 2 Then -
final.Caption = "02 刘西平" -
End If -
If MyValue = 3 Then -
final.Caption = "03 吕寿亭" -
End If -
If MyValue = 4 Then -
final.Caption = "04 安昊成" -
End If -
If MyValue = 5 Then -
final.Caption = "05 朱子易" -
End If -
If MyValue = 6 Then -
final.Caption = "06 张智行" -
End If -
If MyValue = 7 Then -
final.Caption = "07 李弈达" -
End If -
If MyValue = 8 Then -
final.Caption = "08 李嘉伟" -
End If -
If MyValue = 9 Then -
final.Caption = "09 邵 帅" -
End If -
If MyValue = 10 Then -
final.Caption = "10 陈泽轩" -
End If -
If MyValue = 11 Then -
final.Caption = "11 周明锐" -
End If -
If MyValue = 12 Then -
final.Caption = "12 郑界涵" -
End If -
If MyValue = 13 Then -
final.Caption = "13 姚一鸣" -
End If -
If MyValue = 14 Then -
final.Caption = "14 徐中石" -
End If -
If MyValue = 15 Then -
final.Caption = "15 秦江远" -
End If -
If MyValue = 16 Then -
final.Caption = "16 贾松昊" -
End If -
If MyValue = 17 Then -
final.Caption = "17 黄禹轩" -
End If -
If MyValue = 18 Then -
final.Caption = "18 董一夫" -
End If -
If MyValue = 19 Then -
final.Caption = "19 雷 浙" -
End If -
If MyValue = 20 Then -
final.Caption = "20 王雨萌" -
End If -
If MyValue = 21 Then -
final.Caption = "21 刘天韵" -
End If -
If MyValue = 22 Then -
final.Caption = "22 吉华明" -
End If -
If MyValue = 23 Then -
final.Caption = "23 吕文婧" -
End If -
If MyValue = 24 Then -
final.Caption = "24 孙苏原" -
End If -
If MyValue = 25 Then -
final.Caption = "25 庄子怡" -
End If -
If MyValue = 26 Then -
final.Caption = "26 邢静玉" -
End If -
If MyValue = 27 Then -
final.Caption = "27 吴心柳" -
End If -
If MyValue = 28 Then -
final.Caption = "28 汪 漫" -
End If -
If MyValue = 29 Then -
final.Caption = "29 陈宛欣" -
End If -
If MyValue = 30 Then -
final.Caption = "30 陈彦竹" -
End If -
If MyValue = 31 Then -
final.Caption = "31 季泽卿" -
End If -
If MyValue = 32 Then -
final.Caption = "32 金元敬" -
End If -
If MyValue = 33 Then -
final.Caption = "33 南 茜" -
End If -
If MyValue = 34 Then -
final.Caption = "34 唐佳欣" -
End If -
If MyValue = 35 Then -
final.Caption = "35 徐佳含" -
End If -
If MyValue = 36 Then -
final.Caption = "36 彭 旭" -
End If -
If MyValue = 37 Then -
final.Caption = "37 谭泽悉" -
End If -
If MyValue = 38 Then -
final.Caption = "38 徐成圆" -
End If -
If MyValue = 39 Then -
final.Caption = "39 李炅翰" -
End If -
End Sub -
Private Sub reset_Click() -
MyValue = 0 -
counter = 0 -
final.Caption = "" -
End Sub -
Private Sub Form1_Load() -
MyValue = 0 -
counter = 0 -
final.Caption = "" -
last = 0 -
End Sub
Private Sub Command1_Click()
Randomize
Select Case Int(Rnd * 5 + 1)
Case 1
Label1.Caption = "张三"
Case 2
Label1.Caption = "李斯"
Case 3
Label1.Caption = "王五"
Case 4
Label1.Caption = "马六"
Case Else
Label1.Caption = "田七"
End Select
End Sub
Private Type student name As String * 10 End Type Private Sub Command1_Click() '写入数据 Dim stu As student Open "d:\student.txt" For Random As #1 Len = Len(stu) For i = 1 To 60 stu.name = InputBox("请输入姓名") Put #1, i, stu Next i Close #1 End Sub Private Sub Command2_Click() '抽取 Randomize Dim bb As student, n% n = Int(Rnd * 60) + 1 Open "d:\student.txt" For Random As #1 Len = Len(bb) Get #1, n, bb Text1.Text = bb.name Close #1 End Sub
前一篇:如何搭建论坛