Permalänk
Medlem

[C++] rand() stora siffror

Hmm får inte riktigt detta att funka.

Försöker slumpa fram ett nummer mellan 10.000 och 100.000
Men när jag försöker får jag bara en konstig nummerföljd.

int CustomerID; srand(time(NULL)); CustomerID = rand() % (100000 - 10000 + 1) + 10000; cout << CustomerID << endl;

men när jag kör progget får jag bara siffror mellan 17500 och 18000, sen börjar det om, ska det vara så?

eller nåt som gått helt ghalet?

//AJL

Visa signatur

C#/MonoGame Fanatiker.
Pixel Artist & Game Developer

Permalänk
Medlem

rand() % 501 + 17500

rand() % x, ger dig ett tal mellan 0 och x-1, sen får du addera talet du vill starta på.

Visa signatur

[Amd 2500+ @ 3200+] ¤ [Abit NF7] ¤ [1024 ddr @ 400 mHz] ¤ [Radeon 9600 pro] ¤ [Maxtor diamond max 160Gb] ¤ [Lain li PC 60]

http://forum.sweclockers.com/showthread.php?s=&postid=3916792...

Permalänk
Medlem

Re: [C++] rand() stora siffror

Du bör i alla fall ha ett till par paranteser:

CustomerID = (rand() % (100000 - 10000 + 1)) + 10000;

Sedan bör du kolla upp vad RAND_MAX är satt till i <cstdlib>. Från rand:

Citat:

RAND_MAX is a constant defined in <cstdlib>. Its default value may vary between implementations but it is granted to be at least 32767.

Visa signatur

Bra, snabbt, billigt; välj två.

Ljud
PC → ODAC/O2 → Sennheiser HD650/Ultrasone PRO 900/...
PC → S.M.S.L SA300 → Bowers & Wilkins 607