明辉站/网站教程/内容

用VC自制“彩票选号器”

网站教程2024-02-12 阅读
[摘要]1)新建一个“MFC”程序,在选择模式时,选择基于“Dialog”模式;  2)将新建的对话框上缺省的控件全部删去,然后添加7个Edit控件和1个Button控件;  3)右击任一Edit控件,在出现的菜单中选择“ClassWizard”;在“ClassWizard”中为7个Edit控件一一绑定I...
    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控件的显示

  至此,“彩票选号器”已经宣告完成,按一下对话框上按钮,你将看到这个小程序也能实现彩票印号机上的机选功能。

……

相关阅读