C++ 随机 int 函数

2023-12-15

大家好,亲爱的 stackoverflow 会员,我最近开始学习 C++,今天我写了一个小游戏,但我的随机函数无法正常工作。当我多次调用随机函数时,它不会重新生成数字,而是一遍又一遍地打印相同的数字。不使用for循环如何解决这个问题? 谢谢

#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
int rolld6();

int main()
{
    cout<<rolld6()<<endl;
    cout<<rolld6()<<endl;
    system("PAUSE");
    return 0;

}

int rolld6()
{
    srand(time(NULL));
    return rand() % 6 + 1;;
}

srand(time(NULL));通常应该做once开始时main()再也不会了。

您每次拨打电话时都会得到相同的号码rolld6在同一秒内,这可能是lot次,并且在您的示例中,几乎可以保证,因为您快速连续调用它两次。

尝试这个:

#include "stdafx.h"
#include <iostream>
#include <time.h>
#include <stdlib.h>

int rolld6 (void) {
    return rand() % 6 + 1;
}

int main (void) {
    srand (time (NULL));
    std::cout << rolld6() << std::endl;
    std::cout << rolld6() << std::endl;
    system ("PAUSE");
    return 0;
}

另一件需要记住的事情是,如果您快速连续运行该程序本身两次。如果时间没有改变,您将在两次运行中得到相同的两个数字。当您有一个脚本多次运行该程序并且该程序本身寿命很短时,这通常才会成为问题。

例如,如果您拿出您的system()打电话并进行了cmd.exe调用它三次的脚本,您可能会看到类似的内容:

1
5
1
5
1
5

这不是你通常会做的事情,但应该记住,以防万一出现这种情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 随机 int 函数 的相关文章

  • 删除字符串 C 的第一个字符

    我试图删除字符串的第一个字符并保留其余部分 我当前的代码无法编译 我对如何修复它感到困惑 My code char newStr char charBuffer int len strlen charBuffer int i 1 char
  • MVC Core IActionResult 含义

    什么是IActionResult 我尝试查看 MSDN 和其他网站 但需要通用 常见 易于理解的答案 MSDN IActionResult https learn microsoft com en us dotnet api microso
  • asp.net c# 将数据集中的数据转换为电子邮件正文?

    从数据集到电子邮件正文的最佳方式是什么 我有一个 net 控制台应用程序 用于根据存储过程的结果发送电子邮件通知 并且想知道如何最好地从 SQL 数据转到电子邮件正文 带有颜色和字体的 html 正文是最好的 但纯文本也可以 thanks
  • 如何“杀死”Pthread?

    我正在学习 Pthreads 并且想知道杀死这样一个对象的最佳方法是什么 在寻找类似的问题后 我无法找到 明确 的答案 但请随时向我指出任何相关问题 我正在使用一个小型客户端服务器应用程序 其中服务器主线程正在侦听套接字上的客户端连接 每次
  • C++ 非类型参数包扩展

    我正在编写由单一类型参数化的模板函数 并且具有可变数量的相同类型 而不是不同类型 的参数 它应该检查第一个值是否在其余值中 我想这样写 include
  • 如何从 List 中的字符串中删除数字/数字?

    我有一个字符串列表 List
  • 具有多重继承的类的 sizeof

    首先 我知道 sizeof 取决于机器和编译器的实现 我使用的是 Windows 8 1 x64 gcc 5 3 0 没有标志传递给编译器 我从大学讲座中得到了以下代码 include
  • async wait 在调用异步方法时返回 Task> 而不是 List

    我正在尝试了解 async wait 的用法 并且研究了一些博客文章 现在我已经编写了一个测试代码 但它没有按照我期望的方式工作 我有一个返回列表的方法 private List
  • 替换 JSON 中的转义字符

    我想用空格替换 JSON 字符串中的 字符 我怎样才能做到这一点 我发现从 JSON 字符串中删除所有转义字符的最简单 最好的方法是将字符串传递到正则表达式 Unescape 方法 此方法返回一个没有转义字符的新字符串 甚至删除了 n t
  • 获取给定EntityType的导航属性

    我在用VS2010 EF4 0 需要如下功能 private string GetNaviProps Type entityType eg typeof Employee NorthwindEntities en new Northwind
  • 枚举器上的 [[maybe_unused]]

    查看规格 maybe unused http en cppreference com w cpp language attributes 它指出 出现在类 typedef 变量 非静态数据成员 函数 枚举或枚举器的声明中 如果编译器对未使用
  • 套接字:监听积压并接受

    listen sock backlog 在我看来 参数backlog限制连接数量 这是我的测试代码 server initialize the sockaddr of server server sin family AF INET ser
  • 在 ncurses 中使用退格键

    我设置了一个简单的 ncurses 程序 它使用 getch 一次读取一个字符并将它们复制到缓冲区中 我遇到的问题是检测到按下退格键 这是相关代码 while buffer i c getch EOF i if c n break else
  • C# 的空条件委托调用线程安全吗? [复制]

    这个问题在这里已经有答案了 这就是我一直以来编写事件引发者的方式 例如属性更改 public event PropertyChangedEventHandler PropertyChanged private void RaisePrope
  • 如何分析 VSCode 中函数的性能

    我用 C Golang 编写了一个程序 如何找到占用最高 CPU 周期的函数 目的是提高正在执行的程序的性能 2021 年 10 月 金香儿哈娜 https github com hyangah宣布 tweet https twitter
  • double 类型的静态类成员的常量表达式初始值设定项

    在 C 11 和 C 14 中 为什么我需要constexpr在下面的代码片段中 class Foo static constexpr double X 0 75 而这会产生编译器错误 class Foo static const doub
  • 在类中使用 std::chrono::high_resolution_clock 播种 std::mt19937 的正确方法是什么?

    首先 大家好 这是我在这里提出的第一个问题 所以我希望我没有搞砸 在写这篇文章之前我用谷歌搜索了很多 我对编码 C 很陌生 我正在自学 考虑到有人告诉我 只为任何随机引擎播种一次是一个很好的做法 我在这里可能是错的 什么是正确 最佳 更有效
  • 将数组传递给函数名称冲突

    Specs GNU bash 版本 3 1 17 无法升级 Premise 我一直在摆弄数组 我想知道是否有任何方法可以让函数的本地变量与所述函数外部的数组同名 Example 在下面的示例中 我将尝试显示该问题 Working bin b
  • 什么时候使用静态库需要头文件?

    如果我在 Linux 中用 C 创建一个静态库并生成 a 文件 我 或其他人 如何使用该库 例如 我的库定义了一个类 我认为仅仅提供 a 文件是不够的 还需要提供头文件 我如何知道 a 文件必须提供哪些头文件 例如 我是否需要提供我的库代码
  • 如何将 char 转换为 unsigned int?

    我有一个字符数组 它实际上用作字节数组 而不是用于存储文本 在数组中 有两个特定字节表示我需要存储到无符号 int 值中的数值 下面的代码解释了设置 char bytes bytes 2 bytes 0 0x0C For the sake

随机推荐

  • 旋转整个 ggplot() 而不旋转任何文本 R

    我希望旋转整个图 轴和所有内容 但保持轴标签和标题的原样 以便可以水平阅读它们 library ggplot2 data mtcars ggplot geom point data mtcars aes x mpg y cyl labs t
  • nginx 删除 .php 和 .html 文件扩展名

    我一直在尝试让 nginx 在没有 php 或 html 扩展名的情况下工作 并且我需要一些帮助 在此先感谢您的时间 我尝试了在以下位置找到的解决方案如何使用 NGINX 从 url 中删除 php 和 html 扩展名 但没有效果 这是我
  • viewWillAppear 在 iOS5 中被调用两次

    我正在运行我的所有应用程序 以确保它不仅仅是一个应用程序 并且在我拥有的每个应用程序中 当我在 iOS5 模拟器或设备上运行时 viewWillAppear方法在每个视图上被调用两次 我有一个简单的NSLog 1 并且每次都会在我的控制台中
  • 从 python 集中获取唯一的元组

    我目前有一套如下所示 a b b a c b b c 我想要的是 a b c b 您可能会注意到 重复值已被完全删除 因此无论顺序如何 两个元组内部永远不会有相同的元素 如何告诉集合忽略元组中元素的顺序并仅检查元组之间的值 好的 你已经有了
  • 如何在 SQL Server 中对 IN 或列表使用 LIKE

    我有一个以逗号分隔的关键字字符串 我已使用带有 String并返回一个 TABLE Value varchar 30 我现在可以在 where 子句中使用此列表 如下所示 SELECT project FROM Projects proje
  • R - 将多列绘制为 x 轴上的年份,将行绘制为不同的线

    这是我的数据框 2010 2011 2012 2013 2014 2015 A 0 100 164 75 154 110 B 71 77 136 58 138 136 C 0 0 132 53 83 0 我想制作一个折线图 其中年份沿 x
  • 在javascript中使用reduce对数组中的变量求和

    我想对数组 数据 中的调用次数进行求和 我找到了 reduce 函数 但不知道如何选择数组的调用部分 这是我的尝试 data links source 0 target 1 calls 20 texts 0 source 0 target
  • Microsoft Edge 中的 ActiveX 是否有替代方案?

    微软已经发布了Edge浏览器 该浏览器不支持ActiveX 我有一个应用程序需要从 Windows 注册表获取信息 因此我对 ActiveX 的替代方案有一些疑问 有没有办法从 Edge 或类似的东西 例如 Chrome 中的本机消息传递
  • jquery 在点击时或 10 秒后重定向

    我的网站上有一个闪屏 其中有一个 ID 为 splash 的 div 我试图让 div 淡入 然后如果用户单击该 div 它就会淡出并重定向到主站点 如果用户没有点击 它就会淡出并在 10 秒后重定向 定时重定向有效 但点击功能无效
  • 相当于IE中的text-shadow

    我的CSS中有这个 body transparent background color transparent color ffffff text shadow 0 1px 000 1px 0 000 0 1px 000 1px 0 000
  • 在真实设备上选取 PDF 时,iOS 文档选取器崩溃

    我尝试为我的 iOS 应用程序创建一个文档选择器 这是我的代码 我将 UIDocumentPickerViewController 包装在我的 SwiftUI 视图中 并使用 UIViewControllerRepresentable im
  • Awk/Bash 将数字从行首移动到行尾

    我想将数字 数字字符串从行首移动到行尾 输入示例 123example 321example 34292example 预期输出 example123 example321 example34292 GNU awk 的match函数可以完成
  • 如何在 Java EE 环境(Tomcat + JSF)中调整 persistence.xml 文件以将 JPA 连接到 JDBC/MySQL 数据库

    我正在使用 JSF PrimeFaces JPA 开发一个动态 Web 项目 Java EE 并在 Tomcat 7 上运行 项目开发基于http www simtay com simple crud web application wit
  • MFMailComposeViewControllerDelegate 未被调用

    我意识到这个问题已经被不准确地问过 但我一直无法找到我的问题的答案 我有一个带有静态单元格的 UITableViewController 其中一个单元格用于打开邮件编辑器视图 并在用户发送或取消电子邮件后通过委托将其关闭 我的问题是委托方法
  • 单击相同的发布版本但程序集版本不同,更新没有发生

    我部署了一个 clickonce 应用程序 在我的应用程序中我有 10 个外部 dll 由于我的 dll 文件中的代码不断变化并且很难重新分发 因此我采用了 clickonce 部署策略 但我想知道一件事 如果我更改其中一个 dll 文件并
  • printf 在 C 中给我错误的输出

    这可能是一个非常基本的问题 但我在任何地方都找不到答案 这是我在用 C 编程几周后第一次遇到这个问题 本质上 如果我编写一些看起来像这样的代码 int size scanf d size printf size is d size 如果我输
  • 有人可以解释一下 exynos ARM 中的电源控制寄存器吗?

    在Linux内核中 更准确地说 arch arm mach exynos cpuidle c在 3 9 rc6 上 该行显示 static unsigned int g pwr ctrl g diag reg static void sav
  • Google Cloud Vision API 是否检测 OCRed 文本中的格式,例如粗体、斜体、字体名称(helvetica 或 times new roman)等?

    快的brown狐狸跳over懒狗 在这种情况下 假设也有不同的字体系列 云视觉 API 是否可以检测到这一点 或者任何其他 OCR API 都能清楚地检测到这一点 Tesseract 有能力 但它非常不准确 谷歌云视觉 API 是否检测 O
  • 单击通知区域中的消息时未打开应用程序

    我正在开发一个可与推送通知配合使用的 Worklight 应用程序 我目前正在 Android 上进行测试 并已获得适配器来向应用程序发送推送通知 问题是 应用程序仅在前台时接收它 如果它在后台 它不会收到它 并且我在通知区域显示消息后打开
  • C++ 随机 int 函数

    大家好 亲爱的 stackoverflow 会员 我最近开始学习 C 今天我写了一个小游戏 但我的随机函数无法正常工作 当我多次调用随机函数时 它不会重新生成数字 而是一遍又一遍地打印相同的数字 不使用for循环如何解决这个问题 谢谢 in