Шранд выводит огромный список чисел вместо одного [дубликата]

Я использую C ++, и я новичок, но одна из моих последних проблем - использование srand. Шранд выводит гигантский список чисел, пока не перейдет к следующему. Вот мой код, чтобы вы могли понять, о чем я говорю

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string>

using namespace std;

void function2()
{
    int num;
    string none;
    string end1;

    while (num != 69420)
    {

        srand((unsigned) time( NULL));

        num = rand() % 100000 + 1;

        cout << num << "\n";
    }
    if (num != 69420)
    {
        cout << "gg's";
        cin >> end1;
    }
}
int main()
{
    int num;
    string none;

    while (num != 69420)
    {

        srand((unsigned) time( NULL));

        num = rand() % 100000 + 1;

        cout << "Press enter.";
        getline(cin, none);
        if (none == " ")
        {

        }
        else
        {
            function2();
        }
        if (num != 69420)
        {
            break;
        }
        else
        {
            continue;
        }
    }
}

Вероятно, это неправильно, и поэтому я здесь. Спасибо всем, если вы попытаетесь мне помочь!


person LMinton    schedule 03.03.2020    source источник
comment
Это не то, как использовать srand. Я рекомендую прочитать документацию, чтобы узнать, что он делает и как его следует использовать.   -  person user4581301    schedule 03.03.2020
comment
Вы должны вызывать srand только один раз для своей программы: Рекомендуемый способ инициализации srand?   -  person Algirdas Preidžius    schedule 03.03.2020
comment
Даже если вы измените этот код, чтобы один раз засеять генератор перед входом в цикл, похоже, что вы ХОТИТЕ выводить гигантский список чисел, пока вы случайным образом не нажмете желаемое?   -  person JohnFilleau    schedule 03.03.2020
comment
rand генерирует только числа до RAND_MAX и RAND_MAX, которые могут достигать 32767. Вы можете застрять в генерации навсегда и никогда не сгенерировать 69420.   -  person user4581301    schedule 03.03.2020
comment
На каком ресурсе вы изучаете C ++? Если у вас сейчас нет хорошей книги, у нас есть список. stackoverflow.com/questions/388242 /   -  person JohnFilleau    schedule 03.03.2020
comment
Боковое примечание: rand был разработан для генерации случайных чисел в условиях ограничений 1970-х годов, таких как наличие половины КБ ОЗУ и ЦП с тактовой частотой кГц. В наши дни это не очень хорошее решение. К счастью, многие из его проблем были решены с помощью дополнений к стандартной библиотеке C ++ < / а>.   -  person user4581301    schedule 03.03.2020
comment
Что вы хотите, чтобы ваша программа делала? Если бы ваша программа была черным ящиком (физическим черным ящиком, стоящим на столе) и имела вход и выход, как бы вы описали отношения между ними? Он принимает ввод в виде ... и выводит ...   -  person JohnFilleau    schedule 03.03.2020