补充说明该程序:写文章-CSDN创作中心
随机数的创建:
vs中给了个rand函数,但我们不能设置rand函数的随机数种子(系统默认种子数为1),这样rand是个伪随机数,简单来说,就是第一次运行出来的结果是个随机值,但是第二次的随机值与第一次一样,在代码实现中,该游戏就只能玩一次。
为此,我们引入一个时间戳的概念。
来看两张图,两个时间戳会随着现实时间的变化而变化,也就是意味着时间戳是一个恒变值,vs恰好提供了一个time函数,即,我们可以用time函数改变rand函数的种子。
调用方法:
srand((unsigned int)time(NULL)
unsigned int 强制类型转化成无符号整型,在给time函数设置成空函数(随机),做为srand种子。
注意:添加srand(time(NULL))语句,注意不要将该语句放到循环中,否则每次执行会出现10个相同的数。
创建a-b的随机数:
int ret=rand()%100+1
解释:rand的范围是0到RAND_MAX(至少是32767),即rand是个五位数,五位数%100是任意的两位数,即0-99,整体+1就是1-100.
补充:通过上面例子,我们不能总结出生成a-b的方法(任何位数都适用)
a+rand()%(b-a+1)
关机程序:
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdio>
#include<windows.h>
using namespace std;
int main()
{
system("shutdown -s -t 60");
return 0;
}
设置时间:system("shutdown -s -t 时间")
玩完一次不想关掉重新打开,想直接再来一次,都循环结构,我这里用的是do while结构
int a=0;
do
{
scanf("%d",&a);
switch(a)
{
}
}while(a)
代码实现
https://mp.csdn.net/mp_blog/creation/editor/133978608
创作不易,感谢各位的点赞与关注。