1)新建一個“MFC”程序,在選擇模式時,選擇基於“Dialog”模式;
2)將新建的對話框上缺省的控件全部刪去,然後添加7個Edit控件和1個Button控件;
3)右擊任一Edit控件,在出現的菜單中選擇“ClassWizard”;在“ClassWizard”中為7個Edit控件一一綁定Int型的變量:m_num1,m_num2.....m_num7;
4)在“ClassWizard”中為Button控件添加一個處理過程,選擇“Add Handle & Edit”,填入如下代理(以下程序針對湖南福利彩票適用-35選7,其它地區稍加修改也可適用):
int temp,pnum[35],num[7]; //臨時變量,臨時數組
for(int i=0;i<35;i++) //賦值,以作選號用
pnum[i]=i+1;
//***選號過程:***//
for(i=0;i<7;i++)
{
temp=random(100); //取隨機種子數
temp=temp34; //取小於35的數組元素
while(pnum[temp]!=0)//如果是已被選過的元素,重選
{
temp=random(100);
temp=temp34;
}
num[i]=pnum[temp]; //選定一個號碼
pnum[temp]=0; //給該元素置0,表示已被選過
}
/*** 在選完號碼後,應該為它們排一下序:***/
for(int chance=0;chance<7;chance++)
{
int position=chance; //元素排序用到的游標
for(i=0;i<7;i++)
{
if(num[position]>num[i]) //如果後面的元素大於前面的,就交換位置
{
temp=num[position];
num[position]=num[i];
num[i]=temp;
}
}
}
/*****最後,把選出的號碼賦給Edit控件的變量:*****/
m_num1=num[0];
m_num2=num[1];
m_num3=num[2];
m_num4=num[3];
m_num5=num[4];
m_num6=num[5];
m_num7=num[6];
UpdateData(FALSE);//通過變量刷新Edit控件的顯示
至此,“彩票選號器”已經宣告完成,按一下對話框上按鈕,你將看到這個小程序也能實現彩票印號機上的機選功能。