C ++随机数输出"游戏"

时间:2016-10-22 19:40:44

标签: c++ random

这是我的C ++简介作业,我不确定我是否应该在这里寻求家庭作业的帮助,但是我疯狂地试图解决这个问题,因为我看来似乎无处不在如何在给定范围内做随机数的答案有不同的答案。

程序将要求用户输入由空格分隔的五个单个字符,并根据字符生成一个随机数。

以下是规则:

  • 如果输入字符为' A',程序将生成1到20的随机数。

  • 如果输入字符是' B',程序将生成一个从21到40的随机数。

  • 如果输入字符是' C',程序将生成一个从41到60的随机数。

  • 如果输入字符是' D',程序将生成一个从61到80的随机数。

  • 如果输入字符是' E',程序将生成一个81到100的随机数。

  • 如果输入字符不是上述字符之一,则显示" *"在输出中。

我不确定如何最好地构建它以输出给定范围内的数字。请记住,这是一个介绍课程,所以我们只能得到"如果"语句并使用rand()和srand()。

我没有要求为我完成作业lol。我只是想知道该怎么做,因为我可以从教授给我们的关于这项任务的权力点找到2张幻灯片,我不知道该怎么做。

编辑: 这个问题不重复,因为另一个问题使用的代码比我接触到的代码更高级。这是针对intro C ++类的,我们只得到if语句。 还要感谢downvotes!真的让我感到很受欢迎。

3 个答案:

答案 0 :(得分:-1)

mod运营商是你的朋友。 要从低到高生成随机数:rand()%(高 - 低+ 1)+低

答案 1 :(得分:-1)

获取ab之间的随机整数 Num=rand( ) %(b-a+1)+a

答案 2 :(得分:-1)

检查srand()rand()是否有随机数生成器。对于初学者来说,无论你多少次调用它,rand()总会在运行时生成相同的数字。但是,对于srand(),您很可能会生成不同的数字。

我曾经做过一次rand()srand()的项目会在我发现时更新。然后,对于控制结构,您可能需要通过比较输入的ASCII值来考虑switch语句。 (65 =' A',66 =' B'等等。如果您不考虑将小写作为输入。)

srand()的参考文献 rand() returns same number
C++ reference : srand()

rand()的参考文献 C++ reference : rand()

编辑:

既然你已经说明了你已经暴露的控制结构,那么只要你这样做就足够了

if(input == 'A')
    //do stuff here
else if(input == 'B')
    //do stuff here
...continue the pattern
else //should it fail from A to E
    std::cout << "*";