
command1用来随机抽取,text2显示
text1用来自己输入
command2用来判断
基本思想:假设连续有a位相同,经过验证如果为真则得出结果,如果为假,则假设a=a-1位相同……直到a=0
也可以自己输入text2数据来检验程序
这段程序不局限于7位数
Private Sub Command2_Click()
Dim a$, b$, i%, j%, k%
a = CStr(Text1)
b = CStr(Text2)
For i = Len(a) To 1 Step -1
For j = 1 To Len(a) - i + 1
If Mid(a, j, i) = Mid(b, j, i) Then
k = i
Exit For
End If
Next
If k <> 0 Then Exit For
Next
Print k, Mid(a, j, i)'输出相同位数和相同数字
If len(a)+1-k>5 Then
MsgBox "对不起,无奖项"
Else
MsgBox Len(a) + 1 - k & "等奖"'判断奖项
End If
End Sub
Private Sub Command1_Click()
a = CStr(Text1)
Text2 = 10 ^ (Len(a) - 1) + Int(Rnd 09 10 ^ Len(a))
End Sub
我给你个比较简单的,,但是需要按照你的要求进行稍微的修改。。然后在main方法中去执行就可以了:
public class GoodLuck {
int custNo;
int i=1;
String answer;
String awardName;
public void LuckNo(){
Scanner input=new Scanner(Systemin);
Systemoutprintln("\n我行我素购物管理系统 > 幸运抽奖\n");
do{
// 需要的话请把随机数调整成你想要的范围(我这个是为了测试方便写的1
(~3的随机数,根据你的需要把下面的3换成你想要的数字就行了)
int num=(int)(Mathrandom()3+1);
Systemoutprint("请输入会员卡号(4位整数):");
custNo=inputnextInt();
//百位数与随机数相同的为幸运者
int bai=custNo/100%10;
while(i==1){
if(custNo>=1000&&custNo<=9999){
break;
}
else{
Systemoutprintln("\n会员号码输入有误,请重新输入:");
custNo=inputnextInt();
continue;
}
}
if(bai==num){
showAward();
Systemoutprint("\n卡号:"+custNo+"是幸运客户,获得"+awardName);
}else{
Systemoutprint("\n卡号:"+custNo+"\t谢谢您的支持!");
}
Systemoutprintln("\n是否继续(y/n)");
answer=inputnext();
while(i==1){
if(answerequals("y")||answerequals("n")){
break;
}else{
Systemoutprint("输入有误!请重新输入:");
answer=inputnext();
continue;
}
}
}while(!answerequals("n"));
}
public void showAward(){
int num=(int)(Mathrandom()3+1);
if(num==1){
awardName="Mp3";
}
else if(num==2){
awardName="美的微波炉";
}
else{
awardName="美的电饭锅";
}
}
#data和name_data数据自己添加
import random
# 所有员工数据,字典的key是一个set类型,value是list类型
data = {
('能永年', '甲队'): ['项目队长', '曾经外派抵达x地做出了某事', '曾经外派抵达子公司做出了ss项目'],
('巴伟毅', '乙队'): ['HR'],
('纪文博', '丙队'): ['项目成员', '为xx事做出了重大贡献', '曾经做过AA项目'],
('吉信鸿', '丙队'): ['HR', '为公司面试了XX人次', ],
('沙雅旭', '丙队'): ['财务管理', '针对财务的做出了重要指导'],
}
name_data = ['能永年', '巴伟毅', '纪文博', '吉信鸿', '沙雅旭'] # 参见抽奖人的姓名
random_name = randomchoice(name_data) # 随机一个中奖的人
for key, value in dataitems():
# print(key,value)
if random_name == key[0]: # 在字典key中找到这人
print('{}:{}'format(key[0], key[1]))
for item in value: # 遍历他的信息
print('\t\t' + itemljust(20))
Dim n As Integer
Dim a()
Private Sub Command1_Click()
If n = 0 Then '第一次点击时执行
m = Val(Text1)
ReDim a(1 To m)
For i = 1 To m '生成数组a,元素为1至m这m个数
a(i) = i
Next
For i = 1 To m - 1 '随机打乱数组a中元素
r = Int(Rnd m + 1)
tmp = a(i)
a(i) = a(r)
a(r) = tmp
Next
End If
n = n + 1 '计数点击次数
If n > Val(Text1) Then '次数超过指定次数,抽奖结束
MsgBox "抽奖结束!"
Exit Sub
End If
Text2 = a(n) '从数组中抽出第n个数,由于数组中是随机排列,所以相当于生成一个随机数,并且不会重复
End Sub
以上就是关于vb 编写一个抽奖程序全部的内容,包括:vb 编写一个抽奖程序、java抽奖程序、python编写抽奖程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)