抽獎程序源碼
㈠ 易語言抽獎軟體源碼
.版本 2
.程序集 窗口程序集1
.程序集變數 位數, 整數型
.子程序 _按鈕1_被單擊
編輯框2.內容 = 「」
.如果 (編輯框1.內容 = 「」)
位數 = 取隨機數 (1, 10)
.否則
位數 = 到整數 (編輯框1.內容)
.如果結束
.計次循環首 (位數, )
編輯框2.加入文本 (到文本 (取隨機數 (0, 9)))
延時 (100)
.計次循環尾 ()
㈡ java抽獎小程序源碼
import java.util.Scanner;
public class ChouJiang {
public static void main(String[] args) {
System.out.println("我行我素購物管理系統>幸運抽獎");
System.out.println("");
System.out.println("");
Scanner input=new Scanner(System.in);
System.out.print("請輸入四位會員號:");
int hyh=input.nextInt();
int q,b,s,g,sum;
q=hyh/1000;
b=hyh/100%10;
s=hyh/10%10;
g=hyh%10;
sum=q+b+s+g;
if(sum>=23)
{
System.out.println(hyh+"是幸運客戶,獲精美MP3一台!");
}else
{
System.out.println(hyh+"謝謝您的支持!");
}
}
}
㈢ 用c語言編寫一個簡易的抽獎程序,
用data.txt文件保存以下內容:
13725528132 李桂榮
13725528131 李二來
13725528133 張榮剛
13725528130 榮南
13725528137 王三
13725528138 吳立
13725528139 郭德綱
13725528140 周星馳
13725528141 張曼玉
13725528142 張藝謀
13725528152 秦香蓮
13725528162 潘金蓮
13725528172 李大嘴
13725528182 展堂
//源代碼如下
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_NUM 9999
//定義保存人名和電話的數據結構
struct Person
{
char name[20];
char telno[15];
char award;
};
int num = 0; //統計人數
FILE *fp; //文件指針
Person persons[MAX_NUM]; //定義數組
int awarder_1[1] = {-1}; //一等獎
int awarder_2[2] = {-1, -1}; //二等獎
int awarder_3[5] = {-1, -1, -1, -1, -1};//三等獎
//讀取文件
void readdata()
{
int i = 0; //數組下標
Person person;
//文件打開
fp = fopen("data.txt", "r");
if (fp == NULL)
{
printf("打開文件data.txt失敗!\n");
return;
}
//當文件不為空
while (!feof(fp))
{
num ++;
fscanf(fp, "%s", person.telno);
fscanf(fp, "%s", person.name);
person.award = 'F';
persons[i++] = person;
}
}
//初始化標識
void init()
{
for(int i = 0; i < num; i++)
{
persons[i].award = 'F';
}
}
//顯示單個中獎信息
void info( int i)
{
printf("手機號碼: %s 姓名: %s\n", persons[i].telno, persons[i].name);
}
void main()
{
char again = 'Y';
//讀取文件
readdata();
printf("簡單抽獎程序\n");
srand((long)time(0));
while(again == 'Y' || again == 'y')
{
//初始化標識
init();
printf("\n開始抽第一等獎(1名),按任意鍵開始...\n");
getchar();
awarder_1[0] = abs(rand() % num);
while (persons[awarder_1[0]].award == 'T')
{
awarder_1[0] = rand() % num;
}
persons[awarder_1[0]].award = 'T';
info(awarder_1[0]);
printf("\n開始抽第二等獎(2名)\n");
for (int i = 0; i < 2; i++)
{
printf("\n第%d個二等獎,按任意鍵開始...\n", i+1);
getchar();
awarder_2[i] = rand() % num;
while (persons[awarder_2[i]].award == 'T')
{
awarder_2[i] = rand() % num;
}
persons[awarder_2[i]].award = 'T';
info(awarder_2[i]);
}
printf("\n\n開始抽第三等獎(5名)\n");
for (i = 0; i < 5; i++)
{
printf("\n第%d個三等獎,按任意鍵開始...\n", i + 1);
getchar();
awarder_3[i] = rand() % num;
while (persons[awarder_3[i]].award == 'T')
{
awarder_3[i] = rand() % num;
}
persons[awarder_3[i]].award = 'T';
info(awarder_3[i]);
}
printf("\n是否重新開始抽獎?(Y or N)...\n");
again = getchar();
}
getchar();
return;
}
㈣ 求一款易語言抽獎源碼,最好是圖片抽獎,或者自行放入對方提供的頭像。
.版本 2
.支持庫 xplib
.支持庫 iext
.程序集 窗口程序集1
.程序集變數 b, 文本型
.程序集變數 圖片框, 圖片框
.程序集變數 開始音樂, 位元組集
.程序集變數 結束音樂, 位元組集
.程序集變數 人數, 整數型
.程序集變數 人數數組, 文本型, , "0"
.程序集變數 n, 整數型
.程序集變數 圖片文件數組, 文本型, , "0"
.子程序 __啟動窗口_創建完畢
XP風格 (#藍色風格)
選擇夾.左邊 = (取屏幕寬度 () - 選擇夾.寬度) ÷ 2
選擇夾.頂邊 = (取屏幕高度 () - 選擇夾.高度) ÷ 2
圖片框1.標記 = 「1」
圖片框2.標記 = 「2」
圖片框3.標記 = 「3」
圖片框4.標記 = 「4」
圖片框5.標記 = 「5」
圖片框6.標記 = 「6」
選擇夾.現行子夾 = 1
透明標簽1.左邊 = (取屏幕寬度 () - 透明標簽1.寬度) ÷ 2
選擇夾2.頂邊 = 選擇夾.高度 + 選擇夾.頂邊
選擇夾2.左邊 = (取屏幕寬度 () - 選擇夾2.寬度) ÷ 2
初始化 ()
人數 = 取數組成員數 (圖片文件數組)
_一個人_被選擇 ()
注冊熱鍵程序 (_啟動窗口.取窗口句柄 (), 0, #F1鍵, &配置設置)
注冊熱鍵程序 (_啟動窗口.取窗口句柄 (), 0, #回車鍵, &子程序1)
注冊熱鍵程序 (_啟動窗口.取窗口句柄 (), 0, #鍵1, &_一個人_被選擇)
注冊熱鍵程序 (_啟動窗口.取窗口句柄 (), 0, #鍵2, &_二個人_被選擇)
注冊熱鍵程序 (_啟動窗口.取窗口句柄 (), 0, #鍵3, &_三個人_被選擇)
注冊熱鍵程序 (_啟動窗口.取窗口句柄 (), 0, #鍵4, &_四個人_被選擇)
注冊熱鍵程序 (_啟動窗口.取窗口句柄 (), 0, #鍵5, &_五個人_被選擇)
注冊熱鍵程序 (_啟動窗口.取窗口句柄 (), 0, #鍵6, &_六個人_被選擇)
注冊熱鍵程序 (_啟動窗口.取窗口句柄 (), 0, #Esc鍵, &_退出_被選擇)
.子程序 子程序1
n = n + 1
.如果 (n % 2 = 0)
_按鈕2_被單擊 ()
.否則
_按鈕1_被單擊 ()
.如果結束
.子程序 配置設置
載入 (系統設置窗口, , 真)
系統設置窗口.可視 = 真
.子程序 _時鍾1_周期事件
置隨機數種子 ()
圖片框1.圖片 = 讀入文件 (圖片文件數組 [取隨機數 (1, 人數)])
.子程序 抽獎停
.局部變數 a, 整數型
.局部變數 i, 整數型
b = 「」
置隨機數種子 ()
.計次循環首 (6, i)
a = 取隨機數 (1, 人數)
.判斷循環首 (尋找文本 (b, 到文本 (a), 1, 假) ≠ -1)
a = 取隨機數 (1, 人數)
.判斷循環尾 ()
圖片框 = 取標記組件 (i)
圖片框.圖片 = 讀入文件 (圖片文件數組 [a])
b = b + 「,」 + 到文本 (a)
.計次循環尾 ()
.子程序 _一個人_被選擇
圖片初始化 ()
n = 0
按鈕1.禁止 = 假
按鈕1.獲取焦點 ()
圖片框1.可視 = 真
圖片框2.可視 = 假
圖片框3.可視 = 假
圖片框4.可視 = 假
圖片框5.可視 = 假
圖片框6.可視 = 假
圖片框1.左邊 = (選擇夾.寬度 - 圖片框1.寬度) ÷ 2
.子程序 _二個人_被選擇
圖片初始化 ()
n = 0
按鈕1.禁止 = 假
按鈕1.獲取焦點 ()
圖片框1.可視 = 真
圖片框2.可視 = 真
圖片框3.可視 = 假
圖片框4.可視 = 假
圖片框5.可視 = 假
圖片框6.可視 = 假
圖片框1.左邊 = (選擇夾.寬度 - 圖片框1.寬度 × 2 - 5) ÷ 2
圖片框2.左邊 = 圖片框1.左邊 + 圖片框1.寬度 + 5
.子程序 _三個人_被選擇
圖片初始化 ()
n = 0
按鈕1.禁止 = 假
按鈕1.獲取焦點 ()
圖片框1.可視 = 真
圖片框2.可視 = 真
圖片框3.可視 = 真
圖片框4.可視 = 假
圖片框5.可視 = 假
圖片框6.可視 = 假
圖片框1.左邊 = 0
圖片框2.左邊 = 325
圖片框3.左邊 = 651
.子程序 _四個人_被選擇
圖片初始化 ()
n = 0
按鈕1.禁止 = 假
按鈕1.獲取焦點 ()
圖片框1.可視 = 真
圖片框2.可視 = 真
圖片框3.可視 = 真
圖片框4.可視 = 真
圖片框5.可視 = 假
圖片框6.可視 = 假
圖片框1.左邊 = 0
圖片框2.左邊 = 325
圖片框3.左邊 = 651
.子程序 _五個人_被選擇
圖片初始化 ()
n = 0
按鈕1.禁止 = 假
按鈕1.獲取焦點 ()
圖片框1.可視 = 真
圖片框2.可視 = 真
圖片框3.可視 = 真
圖片框4.可視 = 真
圖片框5.可視 = 真
圖片框6.可視 = 假
圖片框1.左邊 = 0
圖片框2.左邊 = 325
圖片框3.左邊 = 651
.子程序 _六個人_被選擇
圖片初始化 ()
n = 0
按鈕1.禁止 = 假
按鈕1.獲取焦點 ()
圖片框1.可視 = 真
圖片框2.可視 = 真
圖片框3.可視 = 真
圖片框4.可視 = 真
圖片框5.可視 = 真
圖片框6.可視 = 真
圖片框1.左邊 = 0
圖片框2.左邊 = 325
圖片框3.左邊 = 651
.子程序 圖片初始化
.局部變數 k, 整數型
選擇夾.現行子夾 = 1
選擇夾.現行子夾 = 0
時鍾1.時鍾周期 = 0
時鍾2.時鍾周期 = 0
時鍾3.時鍾周期 = 0
時鍾4.時鍾周期 = 0
時鍾5.時鍾周期 = 0
時鍾6.時鍾周期 = 0
_啟動窗口.背景音樂 = 到位元組集 (0)
.計次循環首 (6, k)
圖片框 = 取標記組件 (k)
圖片框.圖片 = #圖片
.計次循環尾 ()
.子程序 _標題_被選擇
.局部變數 wb, 文本型
圖片初始化 ()
輸入框 (「請輸入標題內容」, , , wb, )
透明標簽1.標題 = wb
寫配置項 (取運行目錄 () + 「\config.ini」, 「標題」, 「標題1」, wb)
.子程序 _設定轉獎聲音_被選擇
圖片初始化 ()
通用對話框1.過濾器 = 「WAV文件|*.wav」
通用對話框1.打開 ()
開始音樂 = 讀入文件 (通用對話框1.文件名)
寫配置項 (取運行目錄 () + 「\config.ini」, 「聲音」, 「轉獎聲音」, 通用對話框1.文件名)
.子程序 _設定中獎聲音_被選擇
圖片初始化 ()
通用對話框1.過濾器 = 「WAV文件|*.wav」
通用對話框1.打開 ()
結束音樂 = 讀入文件 (通用對話框1.文件名)
寫配置項 (取運行目錄 () + 「\config.ini」, 「聲音」, 「中獎聲音」, 通用對話框1.文件名)
.子程序 _關閉音樂_被選擇
圖片初始化 ()
_啟動窗口.背景音樂 = 到位元組集 (0)
.子程序 初始化
.局部變數 d, 整數型
_啟動窗口.底圖 = 讀入文件 (讀配置項 (取運行目錄 () + 「\config.ini」, 「圖片」, 「背景圖片」, 取運行目錄 () + 「\Wallpaper\1024.jpg」))
開始音樂 = 讀入文件 (讀配置項 (取運行目錄 () + 「\config.ini」, 「聲音」, 「轉獎聲音」, 取運行目錄 () + 「\sound\musi.wav」))
結束音樂 = 讀入文件 (讀配置項 (取運行目錄 () + 「\config.ini」, 「聲音」, 「中獎聲音」, 取運行目錄 () + 「\sound\finish.wav」))
透明標簽1.標題 = 讀配置項 (取運行目錄 () + 「\config.ini」, 「標題」, 「標題1」, 「XX公司幸運抽獎」)
.計次循環首 (6, d)
圖片框 = 取標記組件 (d)
圖片框.圖片 = 讀入文件 (讀配置項 (取運行目錄 () + 「\config.ini」, 「圖片」, 「抽獎圖片」, 取運行目錄 () + 「\Wallpaper\cj.jpg」))
.計次循環尾 ()
查找文件 (圖片文件數組, 取運行目錄 () + 「\Photos\」, 「*.jpg」, )
查找文件 (圖片文件數組, 取運行目錄 () + 「\Photos\」, 「*.bmp」, )
.如果真 (取數組成員數 (圖片文件數組) < 6)
信息框 (「請把圖片文件放到[Photots]文件夾下後重啟軟體!」 + #換行符 + 「圖片文件格式支持[jpg bmp]」, 64, 「提示:」)
結束 ()
.如果真結束
.子程序 _抽獎圖片_被選擇
.局部變數 a, 整數型
圖片初始化 ()
通用對話框1.過濾器 = 「圖片文件|*.jpg;*.bmp」
通用對話框1.打開 ()
.計次循環首 (6, a)
圖片框 = 取標記組件 (a)
圖片框.圖片 = 讀入文件 (通用對話框1.文件名)
.計次循環尾 ()
寫配置項 (取運行目錄 () + 「\config.ini」, 「圖片」, 「抽獎圖片」, 通用對話框1.文件名)
.子程序 _時鍾2_周期事件
置隨機數種子 ()
圖片框2.圖片 = 讀入文件 (圖片文件數組 [取隨機數 (1, 人數)])
.子程序 _時鍾3_周期事件
置隨機數種子 ()
圖片框3.圖片 = 讀入文件 (圖片文件數組 [取隨機數 (1, 人數)])
.子程序 _時鍾4_周期事件
置隨機數種子 ()
圖片框4.圖片 = 讀入文件 (圖片文件數組 [取隨機數 (1, 人數)])
.子程序 _時鍾5_周期事件
置隨機數種子 ()
圖片框5.圖片 = 讀入文件 (圖片文件數組 [取隨機數 (1, 人數)])
.子程序 _時鍾6_周期事件
置隨機數種子 ()
圖片框6.圖片 = 讀入文件 (圖片文件數組 [取隨機數 (1, 人數)])
.子程序 _退出_被選擇
結束 ()
.子程序 _時鍾7_周期事件
' 如果 (取滑鼠垂直位置 () < 10)
系統設定.可視 = 真
設定抽獎人數.可視 = 真
' 系統設定.可視 = 假
' 設定抽獎人數.可視 = 假
.子程序 _按鈕1_被單擊, 邏輯型
.如果真 (選擇夾.現行子夾 = 1)
選擇夾.現行子夾 = 0
.如果真結束
_啟動窗口.背景音樂 = 開始音樂
_啟動窗口.播放次數 = 0
時鍾1.時鍾周期 = 100
時鍾2.時鍾周期 = 100
時鍾3.時鍾周期 = 100
時鍾4.時鍾周期 = 100
時鍾5.時鍾周期 = 100
時鍾6.時鍾周期 = 100
按鈕2.禁止 = 假
按鈕1.禁止 = 真
按鈕2.獲取焦點 ()
返回 (真)
.子程序 _按鈕2_被單擊
抽獎停 ()
_啟動窗口.背景音樂 = 結束音樂
_啟動窗口.播放次數 = 1
時鍾1.時鍾周期 = 0
時鍾2.時鍾周期 = 0
時鍾3.時鍾周期 = 0
時鍾4.時鍾周期 = 0
時鍾5.時鍾周期 = 0
時鍾6.時鍾周期 = 0
按鈕2.禁止 = 真
按鈕1.禁止 = 假
按鈕1.獲取焦點 ()
㈤ php實現可以設置中獎概率的抽獎程序代碼分享
這篇文章主要介紹了一個抽獎程序,要求一等獎的中獎概率是0.12%,二等獎中獎概率是3%,三等獎中獎概率是12%,其他中獎概率是都是謝謝惠顧
代碼如下:
<?php
/**
*
抽獎
*
@param
int
$total
*/
function
getReward($total=1000)
{
$win1
=
floor((0.12*$total)/100);
$win2
=
floor((3*$total)/100);
$win3
=
floor((12*$total)/100);
$other
=
$total-$win1-$win2-$win3;
$return
=
array();
for
($i=0;$i<$win1;$i++)
{
$return[]
=
1;
}
for
($j=0;$j<$win2;$j++)
{
$return[]
=
2;
}
for
($m=0;$m<$win3;$m++)
{
$return[]
=
3;
}
for
($n=0;$n<$other;$n++)
{
$return[]
=
'謝謝惠顧';
}
shuffle($return);
return
$return[array_rand($return)];
}
$data
=
getReward();
echo
$data;
?>
㈥ 跪求java 抽獎程序 含資料庫
35選7彩票程序
public class caipiao
{
static void generate()
{
int a[]=new int[7];
int i,m,j;
fan:for(j=0;j <7;j++){//外循環實現隨機生成每組7個數
a[j]=(int)(Math.random()*35+1);
m=a[j];
if(j>=1){
for(i=0;i <j;i++)//內循環實現無重復
if(a[i]==m){
j--;
continue fan;
}
}
if(a[j] <10)
System.out.print("0"+a[j]+" ");
else
System.out.print(a[j]+" ");
}
}
public static void main (String args[]){
int n=Integer.parseInt(args[0]);
System.out.println("中國福利彩票35選7");
for(int i=0;i <n;i++){//循環調用方法實現輸出n組數
generate();
System.out.println();
}
}
}
㈦ 求VB寫的循環人名抽獎程序源代碼
在定義函數時有時在語句前,有的在語句後。
希望能幫到你!
// giftDlg.h : header file
//
#if !defined
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// CGiftDlg dialog
class CGiftDlg : public CDialog
{
// Construction
public:
int FreeMem();
int ReSetData();
int InitData(); //初始化數組
CGiftDlg(CWnd* pParent = NULL); // standard constructor
char *code[1000];//指向身份證號數組的指針
char *name[1000];//指向姓名數組的指針
char data[1000]; //隨機數組
int ptr; //進度條當前指向隨機數組的指針
int totalid; //參加抽獎的id總數,如果抽出一個,自減1
bool bstart; //標記進度條是否在滾動
// Dialog Data
//{{AFX_DATA(CGiftDlg)
enum { IDD = IDD_GIFT_DIALOG };
CButton m_btgo;
CString m_code;
CString m_msg;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CGiftDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CGiftDlg)
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
virtual void OnOK();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnCancelMode();
virtual void OnCancel();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_GIFTDLG_H__21D8D4EF_07F4_4F29_9351_78F99BFF7723__INCLUDED_)
// giftDlg.cpp : implementation file
//
#include "stdafx.h"
#include "gift.h"
#include "giftDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// CGiftDlg dialog
CGiftDlg::CGiftDlg(CWnd* pParent /*=NULL*/)
: CDialog(CGiftDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CGiftDlg)
m_code = _T("");
m_msg = _T("");
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CGiftDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CGiftDlg)
DDX_Control(pDX, IDOK, m_btgo);
DDX_Text(pDX, IDC_STATIC_CODE2, m_code);
DDX_Text(pDX, IDC_STATIC_MSG, m_msg);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CGiftDlg, CDialog)
//{{AFX_MSG_MAP(CGiftDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_WM_TIMER()
ON_WM_CANCELMODE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
// CGiftDlg message handlers
BOOL CGiftDlg::OnInitDialog()
{
CDialog::OnInitDialog();
InitData();
bstart=false;
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
m_msg.Format ("按開始鍵開始滾動,抽獎箱中人數:%d",totalid);
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
}
// the minimized window.
HCURSOR CGiftDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
void CGiftDlg::OnOK()
{
// TODO: Add extra validation here
if(bstart)
{
KillTimer(1);
bstart=false;
m_msg.Format ("按開始鍵開始滾動,抽獎箱中人數:%d",totalid-1);
m_code.Format ("抽出的號碼:%s\n姓名:%s",code[data[ptr]],name[data[ptr]]);
//AfxMessageBox(m_code);
ReSetData();//剔除抽出的號碼,重新打亂
if(totalid<1)
{
m_btgo.EnableWindow (FALSE);
}
m_btgo.SetWindowText ("開始");
}
else
{
SetTimer(1, 100,NULL);
bstart=true;
m_msg.Format ("按停止鍵抽一個獎");
m_btgo.SetWindowText ("停止");
}
UpdateData(FALSE);
//CDialog::OnOK();
}
void CGiftDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
m_code.Format ("現在的號碼:%s",code[data[ptr]]);
UpdateData(FALSE);
ptr++;
ptr%=totalid;
CDialog::OnTimer(nIDEvent);
}
void CGiftDlg::OnCancelMode()
{
CDialog::OnCancelMode();
// TODO: Add your message handler code here
}
int CGiftDlg::InitData()
{
FILE * fp=fopen("id.txt","r");
ptr=0;
totalid=1;
if (fp==NULL)
{
return 0;
}
char buf[80];
int line=0;
while(!feof(fp))
{
char *p=fgets(buf,80,fp);
if (p!=NULL)
{
name[line]=(char*)malloc(80);
code[line]=(char*)malloc(80);
memset(code[line],0,80);
memset(name[line],0,80);
int flag=0;
for(int i=0;i<80&&buf[i]!='\0';i++)
{
if((buf[i]!=',' )&& (flag==0))
{
code[line][i]=buf[i];
}
else if(flag==0)
{
flag=i;
}
else if((buf[i]!=',' )&& (flag!=0))
{
name[line][i-flag-1]=buf[i];
}
}
TRACE("%s-%s",code[line],name[line]);
memset(buf,0,80);
line++;
}
}
fclose(fp);
for(int j=0;j<line;j++)
{
data[j]=j;
}
for(int i=0;i<line;i++)
{
int pos=rand()%(line-i)+i;
int temp=data[i];
data[i]=data[pos];
data[pos]=temp;
TRACE("%d",data[i]);
}
totalid=line;
return 1;
}
int CGiftDlg::ReSetData()
{
//ptr剔除,與最後一個交換,然後釋放內存
int line=totalid;
int temp=data[ptr];
data[ptr]=data[line-1];
data[line-1]=temp;
//AfxMessageBox(name[data[line-1]]);
free(code[data[line-1]]);
free(name[data[line-1]]);
totalid--;
line--;
ptr=0;
for(int i=0;i<line;i++)//重新打亂
{
int pos=rand()%(line-i)+i;
int temp=data[i];
data[i]=data[pos];
data[pos]=temp;
TRACE("%d",data[i]);
}
return 1;
}
int CGiftDlg::FreeMem()
{
int line=totalid;
for(int i=0;i<line;i++)
{
free(code[i]);
free(name[i]);
}
return 1;
}
void CGiftDlg::OnCancel()
{
// TODO: Add extra cleanup here
FreeMem();
CDialog::OnCancel();
}
id.txt
332601771212061,章魚
110103198511110453,李光
21010119541201045X,周瑜
320304780102066,韓信
442601771212061,沈兵
510103198511110453,宏志
220101841201045X,范進
520304197801020661,曾國
352601771212088,亂馬
540122198511110453,賈海
㈧ VB中可用的抽獎程序的代碼
我知道你的意思:是不是每組數字來回滾動,隨即組合。
停止時,組合成一組數字,並以這組數字作為中獎號碼。
建立一個按鈕:command1
private
sub
command1_click()
dim
a
as
integer
dim
b
as
integer
dim
c
as
integer
'a
b
c
為隨機變數
dim
abc
as
string
'abc為組合號碼
a
=
int(rnd
*
9)
+
1
b
=
int(rnd
*
9)
+
1
c
=
int(rnd
*
9)
+
1
abc=a
&
b
&
c
'組合中獎號碼
'假設3到10等獎為003,004......,010
if
a
=
001
then
msgbox
"你中了1等獎!",
vbokonly,
"系統提示"
end
if
if
a
=
002
then
msgbox
"你中了2等獎!",
vbokonly,
"系統提示"
end
if
......
......
if
a
=
010
then
msgbox
"你中了10等獎!",
vbokonly,
"系統提示"
end
if
end
sub
ok...
㈨ vb.net 多次滾動抽獎的程序代碼
我用多線程寫的,你可以參考下。
系統界面圖如下:(註:重置功能為清除已經中獎號碼,回歸1-100都可以中獎狀態。)
代碼:
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
System.Threading.Threadg_Thread=null;
List<int>g_list=newList<int>();
intg_Num=0;
delegatevoidg_delegate();
///<summary>
///開始
///</summary>
///<paramname="sender"></param>
///<paramname="e"></param>
privatevoidbutton2_Click(objectsender,EventArgse)
{
if(g_list.Count==100)
{
MessageBox.Show("所有數字已使用,請重置!");
return;
}
button3.Enabled=true;
Randomr=newRandom();
g_delegatedele=ChangeTxt;
g_Thread=newSystem.Threading.Thread(()=>
{
while(this.IsDisposed==false)
{
g_Num=r.Next(1,100);
if(g_list.Contains(g_Num))
{
g_Num=1;
}
while(g_list.Contains(g_Num))
{
g_Num++;
}
this.Invoke(dele);
System.Threading.Thread.Sleep(50);
}
});
g_Thread.Start();
}
voidChangeTxt()
{
label2.Text=g_Num.ToString();
}
///<summary>
///停止
///</summary>
///<paramname="sender"></param>
///<paramname="e"></param>
privatevoidbutton3_Click(objectsender,EventArgse)
{
//if(g_Thread.ThreadState==System.Threading.ThreadState.Running)
{
g_Thread.Abort();
g_list.Add(Convert.ToInt32(label2.Text));
}
button3.Enabled=false;
}
///<summary>
///重置
///</summary>
///<paramname="sender"></param>
///<paramname="e"></param>
privatevoidbutton1_Click(objectsender,EventArgse)
{
g_list.Clear();
}
privatevoidForm1_FormClosed(objectsender,FormClosedEventArgse)
{
System.Environment.Exit(0);
}
}
㈩ 請教vb源代碼,抽獎程序,從100個人中抽取三等獎3個,二等獎2個,一等獎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