number = rand() % 9000 + 1000;
Il existe 9 000 numéros à quatre chiffres, n'est-ce pas? À partir de 1000 à 9999. rand()
retournera un nombre aléatoire de 0 à RAND_MAX
. rand() % 9000
sera de 0 à 8999 et rand() % 9000 + 1000;
sera de 1000 à 9999. En général, lorsque vous voulez un nombre aléatoire de a à b Y compris la formule est
rand() % (b - a + 1) + a
Notez également que srand()
devrait être appelé une seule fois et avant toute rand()
.
Si vous faites prendre en compte les nombres compris entre 0 un 999 inclus pour être « numéro à quatre chiffres », il suffit d'utiliser rand() % 10000
dans ce cas. Je ne les considère pas, mais je couvre toutes les bases, juste au cas où.
HTH
En complément de la réponse acceptée, il y a un très bel article en ce qui concerne l'utilisation correcte de rand() et srand () à http://eternallyconfuzzled.com/arts/jsw_art_rand.aspx. – manneorama