QQ登录

只需一步,快速开始

142上位机VC MFC仿彩票号码生成器

[ 复制链接 ]

142上位机VC MFC仿彩票号码生成器

142上位机VC MFC仿彩票号码生成器

142上位机VC MFC仿彩票号码生成器


功能展示

彩票号码是随机生成的,我们当前例程也简单模仿号码生成软件,效果如图,点击开始数字随机不断变更,点击停止,随机生成的五号进行重复性判断,然后进行升序处理,最后将结果显示出来;
要点提示
随机生成数字可以用函数int rand(),要想随机生成指定范围内的数字可以通过形式  i = rand()%m_nRange+1; 来实现,其中m_nRange为要指定的数字范围,I为生成的随机数;





实现功能
1.新建基于对话框的应用程序
2.拖拽五静态控件,ID修改为IDC_NUM0,IDC_NUM1, IDC_NUM2, IDC_NUM3, IDC_NUM4,用于显示随机生成的数字;
3.添加变量 CFont m_Font;//随机数显示字体 CStatic* m_Lists[5];//随机数显示的窗口指针

int num[5]; //随机数存储 UINT m_nRange; //随机数数据范围 并在OnInitDialog()函数中初始化
  1. m_Font.CreateFont(-24,-20,0,0,600,0,0,0,DEFAULT_CHARSET,
  2.          OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,        FF_ROMAN,"宋体");
  3.         m_nRange = 24;
  4.         m_Lists[0] = (CStatic*)GetDlgItem(IDC_NUM0);
  5.         m_Lists[1] = (CStatic*)GetDlgItem(IDC_NUM1);
  6.         m_Lists[2] = (CStatic*)GetDlgItem(IDC_NUM2);
  7.         m_Lists[3] = (CStatic*)GetDlgItem(IDC_NUM3);
  8.         m_Lists[4] = (CStatic*)GetDlgItem(IDC_NUM4);
复制代码
4.随机数显示的字体设置可以在OnCtlColor()函数中实现  if(nCtlColor==CTLCOLOR_STATIC)
{ pDC->SetBkMode(TRANSPARENT);pDC->SelectObject(&m_Font); }

5.添加两按钮实现开始与停止随机数的生成
  1. void CGkbc8Dlg::OnStart()
  2. {
  3.         for (int i=1; i<6;i++)
  4.         {
  5.                 SetTimer(i,10,NULL);
  6.         }        
  7. }
复制代码
  1. void CGkbc8Dlg::OnStop()
  2. {
  3.         CString str,text;
  4.         //避免重复
  5.         for (int i=1; i<6;i++)
  6.         {
  7.                 KillTimer(i);
  8.                 m_Lists[i-1]->GetWindowText(text);
  9.                 num[i-1] = atoi(text);
  10.                 for(int j=i-2;j>=0;j--)//出现重复数字,重获随机数
  11.                 {
  12.                         if(num[i-1]==num[j])//第二位起,后位与前位数相同时
  13.                         {
  14.                                 num[i-1] = rand()%m_nRange+1;
  15.                                 str.Format("%02i",num[i-1]);
  16.                                 m_Lists[i-1]->SetWindowText(str);
  17.                                 i=0;
  18.                         }
  19.                 }
  20.         }
  21.         int iTemp; // 升序排列
  22.         for(i=1;i<6;i++)
  23.         {
  24.                 for(int j=4;j>=i;j--)
  25.                 {
  26.                         if(num[j]<num[j-1])
  27.                         {
  28.                                 iTemp = num[j-1];  num[j-1] = num[j];  num[j] = iTemp;
  29.                         }
  30.                 }
  31.         }
  32.         for(i=0;i<5;i++)  { str.Format("%02i",num[i]); m_Lists[i]->SetWindowText(str); }
  33. }
复制代码
添加定时器处理函数,实现连续生成不同随机数

我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:142.上位机VC MFC仿彩票号码生成器.rar 
文件大小:153.51 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索