srand é muito lento em C + + retornar o mesmo número

Eu estou apenas tentando ter simplesmente RndInt (limite) função que retornará números aleatórios com um limite como limite.

    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;
}

Estou tendo problema para fazer chamadas subseqüentes RndInt exibir inteiro diferente. Quando eu depurar suas chamadas subseqüentes finas para RndInt (limite) dar valor diferente. Mas quando eu tento executá-lo sem cin.get () para a pausa eu recebo os mesmos números em todas as três chamadas. Eu descobri que o problema é que a semente está no mesmo segundo.

Minha pergunta é como fazer chamadas para RndInt retornam valores diferentes sem pausa. O que fazer para o srand funcionar?

questionAnswers(1)

yourAnswerToTheQuestion