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控件的顯示
至此,“彩票選號器”已經宣告完成,按一下對話框上按鈕,你將看到這個小程序也能實現彩票印號機上的機選功能。
|