C ++:如何让代码自动输入随机数?

时间:2015-11-15 11:48:49

标签: c++

我正在处理这个简单的代码,总而言之,它应该继续要求您输入一个与您经历的输入尝试次数不同的数字,因此,它将开始要求您不要输入0和as只要你没有输入0,它就会重申并要求你不要输入1。

然而,我想修改程序,以便它自己运行尝试随机输入,只是为了看看它在获得正确的数字之前会运行多长时间。

这是我在遇到困难之前提出的:

'classpath:hibernate.cfg.xml'

设置#include <iostream> //i was told the following libraries give you random numbers #include <time.h> #include <cstdlib> #include <conio.h> using namespace std; int main() { int numberAttempts = -2; int numberEntered = !(numberAttempts); int xRan; // I was told this little bit should get you random numbers srand(time(0)); xRan = rand() % 100 + 1; //arbitrary randomization rule while (!((numberAttempts+1)==numberEntered)){ int counter = numberAttempts + 2; cout << "Please enter any number but " << counter << ".\n>>"; numberEntered == //here is where i'd like to have a random input. cout << "Number Entered: " << numberEntered << endl; numberAttempts++; } cout << "\n\nWhy the did you do that?\n\n\n\n"; system("pause"); return 0; } 使其与在第一次迭代时将numberEntered设置为0相同:它会响应但会立即关闭。

我坚信这只是重新分配numberEntered = xRan;的问题,但我不知道如何。

提前感谢您的关注。

1 个答案:

答案 0 :(得分:0)

在while循环中将作业rand() % 100 + 1xRan移动到numberEntered是一件简单的事情。实际上你可以完全取消xRan变量。您实现此代码的代码如下所示。但是请注意,因为随机函数只返回1-100之间的值,如果尝试次数超过100而没有与numberAttempts匹配,那么循环将永远运行并最终崩溃。为了解决这个问题,我在while循环!((numberAttempts+1)==numberEntered) && (numberAttempts < 100)

中添加了另一个必备条件
#include <iostream>

//i was told the following libraries give you random numbers
#include <time.h>
#include <cstdlib> 
#include <conio.h>

using namespace std;

int main() {
    int numberAttempts = -2;
    int numberEntered = !(numberAttempts);

    srand(time(0));

    while (!((numberAttempts+1)==numberEntered) && (numberAttempts < 100)){

        int counter = numberAttempts + 2;

        cout << "Please enter any number but " << counter
             << ".\n>>";

        numberEntered = rand() % 100 + 1;

        cout << "Number Entered: " << numberEntered
             << endl;
        numberAttempts++;

        }
    cout << "\n\nWhy the did you do that?\n\n\n\n";

    system("pause");
    return 0;
}

注意:此代码每次都会下面是工作迭代 Working iteration