Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2096157
  • 博文数量: 909
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 12260
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-06 20:50
文章分类

全部博文(909)

文章存档

2008年(909)

我的朋友

分类:

2008-05-06 21:46:42

一起学习
可定制大小和数量的随机数函数
作者:93106部队 袁海鸿

下载本文示例源代码

近日在做一个考试软件时,需要每次题目不同且题数可定制,在C 没找到适用函数,就顺手做了一个较通用的C 的随机函数扩展,请大家编程时参考。

void randEx(int MAX,int NUM) 

{

	int k=0;

	int j=0;

	time_t t;

	//设置rand函数所用的启始种子值,以期每次产生的随机数序列均不相同。

	srand((unsigned) time(&t));

	for (k=1;k<=NUM;k  )//定制随机数数量。

	{

		RAND[k]=rand()%MAX;//定制随机数在0至最大值之间。

		do  

		{

		for (j=1;j

      具体用法:首先在你的工程中相应类头文件中定义一个整型数组RAND[],把此函数加入头文件,在相应的类实现中传递最大值和数量,输出随机数序列。详见示例工程, 

      示例工程中主要代码如下:
// TestRandDlg.h : header file

//



class CTestRandDlg : public CDialog

{

public:

	CTestRandDlg(CWnd* pParent = NULL); // standard constructor

	int RAND[20];



	void randEx(int MAX,int NUM);



	CWnd*  p_StaticWnd; 



	.....



}
// TestRandDlg.cpp : implementation file

//



.....



void CTestRandDlg::OnTestrand() 

{

             UpdateData(TRUE);



             randEx(m_nRandMax,m_nRandNum);

             

             CString str;

             if (m_nRandNum>=1){

             str.Format("%d",RAND[1]);

             p_StaticWnd = GetDlgItem(IDC_STATIC1);

             p_StaticWnd->SetWindowText(str);}

             if (m_nRandNum>=2){

             str.Format("%d",RAND[2]);

             p_StaticWnd = GetDlgItem(IDC_STATIC2);

             p_StaticWnd->SetWindowText(str);}

             if (m_nRandNum>=3){

             str.Format("%d",RAND[3]);

             p_StaticWnd = GetDlgItem(IDC_STATIC3);

             p_StaticWnd->SetWindowText(str);}

             if (m_nRandNum>=4){

             str.Format("%d",RAND[4]);

             p_StaticWnd = GetDlgItem(IDC_STATIC4);

             p_StaticWnd->SetWindowText(str);}

             if (m_nRandNum>=5){

             str.Format("%d",RAND[5]);

             p_StaticWnd = GetDlgItem(IDC_STATIC5);

             p_StaticWnd->SetWindowText(str);}

             if (m_nRandNum>=6){

             str.Format("%d",RAND[6]);

             p_StaticWnd = GetDlgItem(IDC_STATIC6);

             p_StaticWnd->SetWindowText(str);}

             if (m_nRandNum>=7){

             str.Format("%d",RAND[7]);

             p_StaticWnd = GetDlgItem(IDC_STATIC7);

             p_StaticWnd->SetWindowText(str);}

             if (m_nRandNum>=8){

             str.Format("%d",RAND[8]);

             p_StaticWnd = GetDlgItem(IDC_STATIC8);

             p_StaticWnd->SetWindowText(str);}

             if (m_nRandNum>=9){

             str.Format("%d",RAND[9]);

             p_StaticWnd = GetDlgItem(IDC_STATIC9);

             p_StaticWnd->SetWindowText(str);}

             if (m_nRandNum>=10){

             str.Format("%d",RAND[10]);

             p_StaticWnd = GetDlgItem(IDC_STATIC10);

             p_StaticWnd->SetWindowText(str);}





             UpdateData(FALSE);

}

本工程在VC 6.0 WindowsXP中调试通过。
通信地址:(024000)内蒙赤峰市93106部队自动化站 下载本文示例代码


可定制大小和数量的随机数函数可定制大小和数量的随机数函数可定制大小和数量的随机数函数可定制大小和数量的随机数函数可定制大小和数量的随机数函数可定制大小和数量的随机数函数可定制大小和数量的随机数函数可定制大小和数量的随机数函数可定制大小和数量的随机数函数可定制大小和数量的随机数函数可定制大小和数量的随机数函数可定制大小和数量的随机数函数
阅读(204) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~