随机抽奖程序(怎么设计一个抽奖的程序)
本文目录
- 怎么设计一个抽奖的程序
- 怎样用C#制作一个随机数抽奖的程序
- C语言根据随机数编写一个抽奖程序
- 急需C++ 随机抽奖程序
- 汇编语言实现随机抽奖
- vb设计随机抽奖程序
怎么设计一个抽奖的程序
先把各种可能性存在一个数组里。比如10个纸条上各有一句话,只有抽中某句话才算中奖,那么就把这十句话以字符串形式存放在数组A中。然后就可以开始抽奖了。用户选择抽奖,程序就使用rand函数生成一个随机数N,求N%10就能得到一个介于0到9之间的整数 i ,然后看A的值是否是那个中奖的字符串,是就中奖。当然了,你可以设计得复杂些,但原理就是这样了。
怎样用C#制作一个随机数抽奖的程序
提供一个思路给你,你可以把抽奖号添加到一组数列里,一般使用数据库存储,并且自动编排号码。使用随机数random函数随机1-你的号码数量,获得这个号码的排位数,即为获奖号码。
C语言根据随机数编写一个抽奖程序
#include《stdio.h》#include 《conio.h》#include 《stdlib.h》#include 《memory.h》#include 《string.h》#include 《time.h》#define AWARDER_NUM 10typedef struct tag_award { char ID; char name; char telNo; char address;}AWARDER;AWARDER * awarder = new AWARDER;int first_award = {-1};int second_award = {-1,-1};int third_award ={-1,-1,-1,-1,-1};int awarder_num = 0;void info_login(){ if(awarder_num 》= AWARDER_NUM) { AWARDER * new_awarder = new AWARDER; memcpy(new_awarder,awarder,awarder_num*sizeof(AWARDER)); delete awarder; awarder = new_awarder; } printf(“身份证号:“); scanf(“%s“,awarder.ID); printf(“姓名:“); scanf(“%s“,awarder.name); printf(“电话号码:“); scanf(“%s“,awarder.telNo); printf(“家庭住址:“); scanf(“%s“,awarder.address); awarder_num++;}void info_delete(){ char name; printf(“输入您要删除的抽奖者的姓名:“); scanf(“%s“,name); for(int i=0;i《awarder_num;i++) { if (strcmp(awarder.name,name) == 0) { printf(“您选择删除的抽奖者的信息如下:\n“); printf(“身份证号:%s\n“,awarder.ID); printf(“姓名:%s\n“,awarder.name); printf(“电话号码:%s\n“,awarder.telNo); printf(“家庭住址:%s\n“,awarder.address); break; } } if(i == awarder_num) { printf(“没有找到您输入的抽奖者!\n“); } else { char c; printf(“您确定要删除吗?(Y//N)“); fflush(stdin); scanf(“%c“,&c); if(c == ’Y’ || c == ’y’) { AWARDER * new_award = new AWARDER; if(i 《= 0) memcpy(new_award,awarder+1,sizeof(AWARDER) * (awarder_num - 1)); else if( i 》= awarder_num -1) memcpy(new_award,awarder,sizeof(AWARDER) * (awarder_num - 1)); else { memcpy(new_award,awarder,sizeof(AWARDER) * i); memcpy(new_award+i,awarder+i+1,sizeof(AWARDER) * (awarder_num - i - 1)); } awarder_num--; delete awarder; awarder = new_award; } } }void info_modify(){ char name; printf(“输入您要修改的抽奖者的姓名:“); scanf(“%s“,name); for(int i=0;i《awarder_num;i++) { if (strcmp(awarder.name,name) == 0) { printf(“您选择的抽奖者的信息如下:\n“); printf(“身份证号:%s\n“,awarder.ID); printf(“姓名:%s\n“,awarder.name); printf(“电话号码:%s\n“,awarder.telNo); printf(“家庭住址:%s\n“,awarder.address); break; } } if(i == awarder_num) { printf(“没有找到您输入的抽奖者!\n“); } else { printf(“请输入该抽奖者的新信息:\n“); printf(“身份证号:“); scanf(“%s“,awarder.ID); printf(“姓名:“); scanf(“%s“,awarder.name); printf(“电话号码:“); scanf(“%s“,awarder.telNo); printf(“家庭住址:“); scanf(“%s“,awarder.address); }}bool check_over(int cur_award,int awarderNo){ if(awarderNo == 1) { if(cur_award == first_award) return true; } else if(awarderNo 《= 3) { if(cur_award == first_award) return true; for(int i=0;i《awarderNo-1;i++) if(cur_award == second_award) return true; } else if(awarderNo 《= 8) { if(cur_award == first_award) return true; for(int i=0;i《2;i++) if(cur_award == second_award) return true; for(i=0;i《awarderNo-3;i++) if(cur_award == third_award) return true; } return false;}void award(){ if(awarder_num 《 8) { printf(“人数太少,请添加足够的人再抽奖!\n“); return; } srand((long)time(0)); char hit_id; printf(“\n开始抽第一等奖(1名),按任意键开始...\n“); getch(); while(!kbhit()) { first_award = rand() % awarder_num; memcpy(hit_id,awarder.ID,18); printf(“\r “); printf(“\r %s“,hit_id); } printf(“\n\n开始抽第二等奖(2名)“); for (int i=0;i《2;i++) { printf(“\n第%d个二等奖,按任意键开始...\n“,i+1); getch(); while(!kbhit()) { second_award = rand() % awarder_num; while(check_over(second_award,1+i)) second_award = rand() % awarder_num; memcpy(hit_id,awarder.ID,18); printf(“\r “); printf(“\r %s“,hit_id); } } printf(“\n\n开始抽第三等奖(5名)“); for (i=0;i《5;i++) { printf(“\n第%d个三等奖,按任意键开始...\n“,i+1); getch(); while(!kbhit()) { third_award = rand() % awarder_num; while(check_over(third_award,3+i)) third_award = rand() % awarder_num; memcpy(hit_id,awarder.ID,20); printf(“\r “); printf(“\r %s“,hit_id); } }}void info_show(){ printf(“一等奖获得者:\n“); printf(“\t身份证号:%s\n“,awarder.ID); printf(“\t姓名:%s\n“,awarder.name); printf(“\t电话号码:%s\n“,awarder.telNo); printf(“\t家庭住址:%s\n“,awarder.address); printf(“二等奖获得者:\n“); for (int i=0;i《2;i++) { printf(“第%d个二等奖获得者:\n“); printf(“\t身份证号:%s\n“,awarder.ID); printf(“\t姓名:%s\n“,awarder.name); printf(“\t电话号码:%s\n“,awarder.telNo); printf(“\t家庭住址:%s\n“,awarder.address); } printf(“三等奖获得者:\n“); for (int i=0;i《5;i++) { printf(“第%d个三等奖获得者:\n“); printf(“\t身份证号:%s\n“,awarder.ID); printf(“\t姓名:%s\n“,awarder.name); printf(“\t电话号码:%s\n“,awarder.telNo); printf(“\t家庭住址:%s\n“,awarder.address); } }/*提示信息*/bool raise(){ printf(“\n请输入你需要的操作代号:\n“); printf(“\t1.录入:完成抽奖者信息的输入;\n“); printf(“\t2.删除:完成抽奖者信息的删除;\n“); printf(“\t3.修改:允许对已经录入的数据重新进行、修改;\n“); printf(“\t4.抽奖:开始抽奖!\n“); printf(“\t5.显示:显示所有中奖者的信息;\n“); printf(“\t6.退出。\n“); printf(“==》“); int operate; fflush(stdin); scanf(“%d“,&operate); switch(operate) { case 1: info_login(); break; case 2: info_delete(); break; case 3: info_modify(); break; case 4: award(); break; case 5: info_show(); break; case 6: return false; default: break; } printf(“\n操作完成。\n“); return true;}void main(){ while(raise());}
急需C++ 随机抽奖程序
#include 《iostream》#include 《time.h》using namespace std;void main() { srand(unsigned(time(NULL))); int m,n; cout《《“请输入可能得奖的人数:“; cin》》m; n = rand()%m+1; cout《《“得奖的人是“《《n《《“号观众!!!“;}
汇编语言实现随机抽奖
你可以这样,首先把这些数无规律的放到32个空间中去,再用DPTR指向他们中的第一个,后面对DPTR自加,每次回到最后一个数存放的位置时,便让其从头再自加。由于数子存放 是乱序的,加上程序的执行速度很快,这样你每次抽取的数也能保证是随机的。MOV R0,#00H ;用来记录你是第几次抽取,并在LOOP5中用目前抽取的跟前面抽取出来的对比,如果跟前面的一样便选择用这一空间后的那个值,重复对比,确定不再相同为止.MOV DPTR,1000HMOV A,01LOOP1:MOVX @DPTR,AINC DPTRINC ACJNE A,32,LOOP1;;;;;;;;;;以下是程序一直处于自动运行状态;;;;;LOOP3:MOV DPTR,1000HLOOP2:INC DPTRMOV A,DPLCJNE A,20H,LOOP2LJMP LOOP3;;;;;;抽出程序,可以使用中断;;;;当有断时进入以下程序,到于中断怎么弄,那是你硬件的问题了;;;INTER:CLR EALOOP7:MOV R3,R0MOV R2,#20HLOOP5:MOVX A,@DPTRCLR CYSUBB A,@R2JZ LOOP6DEC R3JNZ LOOP5 LJMP Get-itLOOP6:INC DPTRMOV A,DPLCJNE A,21H,LOOP5MOV DPTR 1000HLJMP LOOP7get-it:movx a,@dptrmov @r2,aRETI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;后面你用你显示程序把20H开始的单元的数显示出来就行了;;;程序应该大都没问题,有些细节你可以自己调试一下。.
vb设计随机抽奖程序
’5个文本框改成控件数组,索引从0到4Private isStop As BooleanPrivate Sub Command1_Click() ’数字滚动 Randomize Dim rndIndex As Integer isStop = False Do Until isStop ’循环语句滚动数字太快了,应该放在时钟控件中较好,可以控制速度 rndIndex = Int(Rnd * 5) ’产生一个随机的文本框数组索引 Text1(rndIndex) = (Val(Text1(rndIndex)) + 1) Mod 10 ’对文本框增加一个值 DoEvents LoopEnd SubPrivate Sub Command2_Click() ’停止滚动 isStop = TrueEnd Sub
- 1bat的大数据(BAT的大数据来源)
- 2三星s8屏幕上端2(三星s8屏幕上端2个按键)
- 3三星屏幕坏了如何导出(三星屏幕摔坏了如何导出数据么)
- 4红米3x怎么关闭自动更新(红米k40s怎么关闭自动更新)
- 5微信上防止app自动下载软件怎么办(微信上防止app自动下载软件怎么办啊)
- 6押镖多少钱(押镖一个月有多少储备金)
- 7瑞星个人防火墙胡功能(瑞星个人防火墙协议类型有哪些)
- 8cf现在等级是多少(cf等级2020最新)
- 9老滑头多少条鱼(钓鱼老滑头有什么用)
- 10WPS自动调整语法(wps如何修改语法)
- 11dell控制面板防火墙(dell的防火墙怎么关闭)
- 12丑女技能升多少(丑女技能需要满级吗)
- 13智能家居系统怎么样(智能家居系统好吗)
- 14戴尔屏幕(戴尔屏幕闪烁)
- 15y85屏幕信息(vivoy85息屏显示时间怎么设置)
- 16魅蓝note3屏幕出现方格(魅蓝note屏幕竖条纹)
- 17v8手指按屏幕(触屏手指)
- 18金为液晶广告机(液晶广告机lb420)
- 19三星显示器怎么校色(三星显示器 调色)
- 20hkc显示器dvi音频(hkc显示器有音响么)
- 21康佳液晶智能电视机(康佳液晶智能电视机怎么样)
- 22做液晶画板电脑(做液晶画板电脑怎么操作)
- 23液晶屏极化现象原理(液晶屏极化现象原理是什么)
- 24企业网络安全防火墙(企业网络防护)
- 256splus黑屏屏幕不亮(苹果6s plus屏幕突然黑屏)
- 26充电导致屏幕失灵(充电导致屏幕失灵怎么办)
- 27超极本屏幕旋转(笔记本电脑屏幕旋转,怎么转过来?)
- 28igmp防火墙(防火墙配置ipv6)
- 29荣耀王者多少经验(王者荣耀经验多少一级)
- 30lol老将还剩多少(qg老将)