srand слишком медленный в C ++, он возвращает то же число

Я просто пытаюсь использовать просто функцию RndInt (limit), которая будет возвращать случайные числа с ограничением в качестве предела.

    cout << "Enter higher limit of random range:" ;
 cin >> limit;
 while(limit != 0)

{
//        RndInt(limit);
    cout << "Random number smaller than " << limit << " is " << RndInt(limit) << endl;
    cin.get();
    cin.get();
    cout << "Other random number smaller than " << limit << " is " << RndInt(limit) << endl;
    cin.get();
    cin.get();
    cout << "There is " << RndInt(limit) << " ways I love you" <<endl ;
    cout << "Enter higher limit of random range:" ;
    cin >> limit;
}
return 0;
}

int RndInt(int limit)
{
srand(time(&base));
int rndnumber;
rndnumber=rand()%limit;
base+=100;
return rndnumber;
}

У меня проблема с тем, чтобы в последующих вызовах RndInt отображалось другое целое число. Когда я отлаживаю его нормально, последующие вызовы RndInt (limit) дают другое значение. Но когда я пытаюсь запустить его без cin.get () для паузы, я получаю одинаковые номера во всех трех вызовах. Я понял, что проблема в том, что семя находится в ту же секунду.

Мой вопрос заключается в том, как сделать вызовы RndInt вернуть различные значения без паузы. Что делать, чтобы отправить функцию?

Ответы на вопрос(1)

Ваш ответ на вопрос