Visual c++ 简单模具滚动游戏打印错误 所以我是C++新手,几天前我开始学的。我已经花了很多时间学习它,可能比我应该在几天lol。无论如何,我采用了一些代码,将一个骰子滚动两次,并给出一个结果。我决定对它做一些修改,这样如果结果是一个素数,你就会“赢”,如果不是,你就会输,它会把你送回程序,你一直玩到得到一个素数为止

Visual c++ 简单模具滚动游戏打印错误 所以我是C++新手,几天前我开始学的。我已经花了很多时间学习它,可能比我应该在几天lol。无论如何,我采用了一些代码,将一个骰子滚动两次,并给出一个结果。我决定对它做一些修改,这样如果结果是一个素数,你就会“赢”,如果不是,你就会输,它会把你送回程序,你一直玩到得到一个素数为止,visual-c++,random,Visual C++,Random,我决定用我从中学到的东西来尝试制作一个简单的掷骰子程序,它只要求用户点击enter来运行脚本,然后一旦他们点击enter,它就会为他们掷骰子。我使它通过一个while循环,这样它就可以保持运行,这样它就可以用于多个模具辊 当它打印时,我没有得到一个实际的错误,除了我注意到它会打印结果,然后当我再次运行它时,它会打印相同的结果,所以如果我按enter键一次,得到一个3,第二次我会再次得到一个3,但是如果我第三次按它,我会得到任何结果。我想知道是否有人会看看我的代码,也许能帮我找到一个解决方案 值

我决定用我从中学到的东西来尝试制作一个简单的掷骰子程序,它只要求用户点击enter来运行脚本,然后一旦他们点击enter,它就会为他们掷骰子。我使它通过一个while循环,这样它就可以保持运行,这样它就可以用于多个模具辊

当它打印时,我没有得到一个实际的错误,除了我注意到它会打印结果,然后当我再次运行它时,它会打印相同的结果,所以如果我按enter键一次,得到一个3,第二次我会再次得到一个3,但是如果我第三次按它,我会得到任何结果。我想知道是否有人会看看我的代码,也许能帮我找到一个解决方案

值得一提的是,它似乎只给了我两次相同的数字,比如75%的时间,但它似乎仍然经常是一个巧合。此外,这是我第一次使用stackoverflow,我不知道如何正确使用代码输入,所以我只添加了一个图像


感谢您对我的帮助,如果有人要求,我可以添加其他信息。有一个变化,我有一些我不需要的“include”函数,我不完全确定。非常感谢任何提示和建议

不要在循环中调用
srand

srand()
初始化随机数生成器。当您使用
time(NULL)
作为参数时,只要当前秒数不变,它就会用相同的值初始化生成器。因此,在同一秒内完成的所有
random()
调用都返回相同的结果

当时钟滴答作响时,生成器将以相同的数字重新启动,表示一个新的时钟状态,您将得到一系列新的相等结果

只需在
main()的开头调用
srand()
一次

编辑

请参阅。

您好,欢迎来到Stack Overflow。请不要发布代码截图,我们无法编译图像或在其中滚动。用4个空格的缩进来发布代码本身(您可以通过在堆栈溢出编辑器中选择代码并点击Ctrl-K或Command-K来自动完成此操作)。由于没有用文本源代码替换屏幕截图而被否决,即使在被要求之后也是如此。好吗。。?问题已经解决,我不需要帮助,人们也不需要在问题解决后浪费时间来帮助我。@Cytax这个网站不仅仅是为你而设的。这是给每个人的。我们不仅通过解决其他人的问题,而且通过使这些解决方案对其他人有用,这些人可能会为他们类似的问题寻找解决方案,从而使它变得有用。因此可读性和可搜索性增加了有用性。图片中的文字不会。你建议我如何更改它?我明白你的意思,但我似乎想不出其他方法来使用。@Cytax只需删除
srand(time(NULL))行从
droll()
开始,并将其作为
main()
函数的第一行。@Cytax哦,请按照Amadan说的做:将源代码粘贴到问题中,而不是屏幕截图中。谢谢!当我写那篇文章的时候,我非常疲倦,试图让代码正常工作,我已经筋疲力尽了。将来我一定会这样做。谢谢你的帮助,我非常感激。