Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1334639
  • 博文数量: 953
  • 博客积分: 52320
  • 博客等级: 大将
  • 技术积分: 13090
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-05 13:42
文章分类

全部博文(953)

文章存档

2011年(1)

2008年(952)

我的朋友

分类: C/C++

2008-08-05 13:53:55

下载本文示例代码
下载本文示例源代码

近日在做一个考试软件时,需要每次题目不同且题数可定制,在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部队自动化站 下载本文示例代码
阅读(99) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~