ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MFC 单线程 多线程 随机数小数 随机数整数

2021-10-29 14:30:15  阅读:165  来源: 互联网

标签:MFC MIN int max double 随机数 MAX 多线程


基于对话框的项目,拖入一个EditText控件和一个Button控件

双击按钮,进入按钮事件函数

/// <summary>
/// 产生int伪随机数
/// </summary>
/// <param name="MIN">最小值</param>
/// <param name="MAX">最大值</param>
/// <returns></returns>
int CMFCApplicationTestDlg::GetRand(int MIN, int MAX)//产生随机数
{
    int max;
    max = RAND_MAX;//rand()函数随机数的最大值
    return (int)(rand() * (MAX - MIN) / max + MIN);
}
/// <summary>
/// 产生double伪随机数
/// </summary>
/// <param name="MIN">最小值</param>
/// <param name="MAX">最大值</param>
/// <returns></returns>
double CMFCApplicationTestDlg::GetRand(double MIN, double MAX)//产生随机数
{
    int max;
    max = RAND_MAX;//rand()函数随机数的最大值
    return (double)(rand() * (MAX - MIN) / max + MIN);
}
void CMFCApplicationTestDlg::OnBnClickedButton1()
{
    CWnd* cWnd = GetDlgItem(IDC_EDIT1);
    // TODO: 在此添加控件通知处理程序代码
    CString temp = _T("");
    DWORD threadID= GetCurrentThreadId();
    //srand((unsigned int)time(NULL));//主线程中可以用time作为种子
    srand(threadID);//多线程情况下,工作线程可以用线程的ID作为中子
    for (int i = 0; i <= 300; i++) {
        CString PbStr;
        double d = GetRand(-240.000, 240.000);
        PbStr.Format(_T("%.3lf"), d);
        cWnd->GetWindowTextW(temp);
        temp = temp + PbStr + _T("\r\n");
        cWnd->SetWindowTextW(temp);
        cWnd->RedrawWindow();
    }

运行效果

 

标签:MFC,MIN,int,max,double,随机数,MAX,多线程
来源: https://blog.csdn.net/qq_25823787/article/details/121033935

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有