VC----MFC对话框练习-随机数生成工具
来源:互联网 发布:最新网络神曲 编辑:程序博客网 时间:2024/06/06 01:23
看了几天的MFC对话框,今天来自己试着写个关于生成随机数的对话框小程序吧,如果想自己制作一个简单的随机数程序,需要考虑哪些元素呢?
1. 首先是如何生成随机数,这里我们使用rand()函数来实现,原型很简单,int rand()会返回一个RAND_MAX即32767范围内的一个随机数;
2. 设计一个图形接口,自己决定使用一个对话框程序来写;
3. 编写事件响应过程,重点是如何进行控件与过程数据的传递,即从空间读取文本值,进行随机数计算后写回到控件;
好了,下面我们一步一步来实现这个小工具:
一、设计图形接口
VS2008下新建一个MFC项目,定制为对话框程序,删除默认的“确定“”取消”按钮,添加两个编辑框用于输入和输出,添加静态文本框用于说明,添加按钮用于执行随机数生成过程:
二、添加按钮响应过程
双击“生成随机数”按钮,进入到CrandDlg::OnBnClickedButton1()函数,使用以下函数来实现我们的功能:
-CWnd::GetWindowTextW(str):获取控件的文本值,保存在CString str中;
-CWnd::SetWindowTextW(str_last):将str_last设置为控件的文本值;
-_itow与_wtoi:实现文本值与Int值的转换;
代码中需要对用户输入的最大范围进行判断,默认使用RAND_MAX作为随机数生成范围。除了这种自己去实现与控件的数据通信之外,更加简便的方法是直接为控件绑定变量,然后直接对变量进行指定类型的操作,而这需要MFC使用DoDataExchange函数来实现控件与类成员变量的数据交换,我们需要调用UpdateData函数来实现:
-默认TRUE参数,从控件获取数据,数据从控件流向类成员变量;
-指定FALSE参数,对控件进行初始化,数据从类成员变量流向控件;
运行的结果都是一样的,但是后一种方法则要简单地多:
未指定随机数生成范围:
指定随机数生成范围为1000:
1. 首先是如何生成随机数,这里我们使用rand()函数来实现,原型很简单,int rand()会返回一个RAND_MAX即32767范围内的一个随机数;
2. 设计一个图形接口,自己决定使用一个对话框程序来写;
3. 编写事件响应过程,重点是如何进行控件与过程数据的传递,即从空间读取文本值,进行随机数计算后写回到控件;
好了,下面我们一步一步来实现这个小工具:
一、设计图形接口
VS2008下新建一个MFC项目,定制为对话框程序,删除默认的“确定“”取消”按钮,添加两个编辑框用于输入和输出,添加静态文本框用于说明,添加按钮用于执行随机数生成过程:
二、添加按钮响应过程
双击“生成随机数”按钮,进入到CrandDlg::OnBnClickedButton1()函数,使用以下函数来实现我们的功能:
-CWnd::GetWindowTextW(str):获取控件的文本值,保存在CString str中;
-CWnd::SetWindowTextW(str_last):将str_last设置为控件的文本值;
-_itow与_wtoi:实现文本值与Int值的转换;
点击(此处)折叠或打开
- void CrandDlg::OnBnClickedButton1()
- {
-
- CString str;
- if (GetDlgItem(IDC_MAX)->GetWindowTextW(str), str == L'0')
- {
- m_mod = RAND_MAX;
- }
- else
- {
- int m_mod = (GetDlgItem(IDC_MAX)->GetWindowTextW(str), _wtoi(str));
- }
- wchar_t str_last[10];
- int num = rand()%m_mod;
- _itow(num, str_last, 10);
- GetDlgItem(IDC_SHOW)->SetWindowTextW(str_last);
- // TODO: 在此添加控件通知处理程序代码
- }
-默认TRUE参数,从控件获取数据,数据从控件流向类成员变量;
-指定FALSE参数,对控件进行初始化,数据从类成员变量流向控件;
点击(此处)折叠或打开
- UpdateData(); //数据流:控件-->类成员变量
- if (m_Max == 0)
- m_mod = RAND_MAX;
- else
- m_mod = m_Max;
- m_rand = rand() % m_mod;
- UpdateData(FALSE); //数据流:类成员变量-->控件
未指定随机数生成范围:
指定随机数生成范围为1000:
0 1
- VC----MFC对话框练习-随机数生成工具
- mfc生成随机数
- vc生成随机数
- VC如何生成随机数。。。。
- VC----MFC对话框(1)
- VC----MFC对话框(2)
- java 随机数生成工具
- 生成随机数工具
- 随机数生成工具random
- MFC 生成随机数--彩票系统
- VC下生成随机数字符串
- VC生成真正的随机数
- VC ++ MFC打开文件对话框
- VC/MFC非模态对话框实例
- 随机数生成---加法学习工具
- java 随机数生成工具类
- 生成随机数-java工具类
- MFC三层模式标准版V1.5版演示源码(VC++代码生成,VC非托管代码,基于对话框程序)
- VC----MFC对话框(3)【“逃跑”按钮的实现】
- mysql触发器
- ThinkPhp基本的curd操作
- vim 自动添加脚本信息
- 【剑指offer】面试题1:赋值运算符函数
- VC----MFC对话框练习-随机数生成工具
- 考试B 冰雪奇缘改版 多边形剖梯形+线段树维护区间
- UESTC summer training A 【树链剖分 模板】
- Changing Location Settings
- Netty Authority Serveice Discovery Project
- VC----MFC文件操作的那些事儿
- Mybatis 查不到数据,总是返回Null
- 李开复给大学生的第3封信:成功、自信、快乐
- 奇偶节点的排序和完全平方数问题