C++基于随机数实现福彩双色球的方法示例

2025-05-27 0 87

本文实例讲述了C++基于随机数实现福彩双色球的方法。分享给大家供大家参考,具体如下:

这是前段时间写的福彩双色球一个小应用

本来可以一个文件搞定,反正也没多大,就分开了.

头文件doubleColorBallR2.h

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33
#ifndef _DoubleColorBallR2_h

#define _DoubleColorBallR2_h

#include <iostream>

#include <stdio.h>

#include <vector>

#include <list>

#include "windows.h"

#include <algorithm>

#ifndef _RED_ZONE_

#define _RED_ZONE_ 33

#endif

#ifndef _BLUE_ZONE_

#define _BLUE_ZONE_ 16

#endif

#ifndef _RED_NUM_

#define _RED_NUM_ 6

#endif

#ifndef _BLUE_NUM_

#define _BLUE_NUM_ 1

#endif

using namespace std;

class DoubleColorBallR2

{

public:

DoubleColorBallR2(){

}

~DoubleColorBallR2(){

}

void getRedZone();

void getBlueZone();

private:

};

#endif

实现文件 doubleColorBallR2.cpp

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43
#include "doubleColorBallR2.h"

void DoubleColorBallR2::getRedZone(){

vector<int> v_red; //选择数的范围 1-_RED_ZONE_

list<int> l_red; //装入1-_RED_NUM_个数

for (int i=1; i <= _RED_ZONE_; ++i) {

v_red.push_back(i);

}

srand((unsigned)GetCurrentTime());

int j=_RED_ZONE_;

for (int i=1; i<=_RED_NUM_; ++i) {

int n=1+rand()%(j-1+1);

l_red.push_back(v_red[n]); //装入

//删除v_red已装入的数

vector<int>::iterator iter=find(v_red.begin(), v_red.end(), v_red[n]);

v_red.erase(iter);

--j; //由于v_red已经删除了一位数,所以随机数取值范围要减少一位

}

l_red.sort();

for (list<int>::iterator i=l_red.begin(); i!=l_red.end(); ++i) {

cout<<*i<<" ";

}

}

void DoubleColorBallR2::getBlueZone(){

vector<int> v_blue; //选择数的范围 1-_BLUE_ZONE_

list<int> l_blue; //装入1-_BLUE_NUM_个数

for (int i=1; i <= _BLUE_ZONE_; ++i) {

v_blue.push_back(i);

}

srand((unsigned)GetCurrentTime());

int j=_BLUE_ZONE_;

for (int i=1; i<=_BLUE_NUM_; ++i) {

int n=1+rand()%(j-1+1);

l_blue.push_back(v_blue[n]); //装入

//删除v_red已装入的数

vector<int>::iterator iter=find(v_blue.begin(), v_blue.end(), v_blue[n]);

v_blue.erase(iter);

--j; //由于v_red已经删除了一位数,所以随机数取值范围要减少一位

}

l_blue.sort();

for (list<int>::iterator i=l_blue.begin(); i!=l_blue.end(); ++i) {

cout<<*i<<" ";

}

}

主程序 doubleColorBall.cpp

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18
#include <iostream>

#include <list>

#include "windows.h"

#include <stdio.h>

#include "doubleColorBallR2.h"

#define RED_ZONE 33 //红区

#define BLUE_ZONE 16 //蓝区

#define RED_NUM 6 //红区位数

#define BLUE_NUM 1 //蓝区位数

using namespace std;

int main (int argc, char *argv[])

{

DoubleColorBallR2 dcb;

dcb.getRedZone();

dcb.getBlueZone();

getchar();

return(0);

}

PS:这里再为大家提供1款功能类似的在线工具供大家参考:

高强度密码生成器:
https://tool.zzvips.com/t/randkey/

希望本文所述对大家C++程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 C++基于随机数实现福彩双色球的方法示例 https://www.kuaiidc.com/73381.html

相关文章

发表评论
暂无评论