Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/02/2010, 02:33
GagleKas
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Generar numero aleatorio

Gracias.

Al final lo deje asi:

Código:
int getRandomNum (){
        time_t tiempo;
        struct tm *timeinfo;
        char day[4];

        time (&tiempo);
        timeinfo = localtime (&tiempo);
        strftime (day, 4, "%j", timeinfo);

        srand (atoi (day));

        return rand ()%4 + 2;
}
Me devuelve un numero entre 2 y 5 y se mantiene igual durante todo el dia porque cada vez que se llama a la funcion se inicializa la secuencia de numeros aleatorios con srand() y por tanto, como rand() solo se llama una vez, siempre me devuelve el mismo numero. Al dia siguiente, como el day ha cambiado srand() inicia la secuencia con otro numero diferente.

He descubierto 2 funciones: el localtime() y el strftime() que sin duda son muy interesantes ;)

No me hacia falta tanta precision con lo del año, pero gracias igualmente.