I need to generate random numbers between 100 and 999
this is what i got but this doesn't work every time. It goes over 999 sometimes
using namespace std;
int count = 1;
unsigned seed = time(0);
while(count <= 20)
num = 100 + rand() % 999;
cout << num << endl;
The modulus operator is resolved before addition in the order of operations. You're essentially generating a number between 0 and 999 and then adding 100, making your limits between 100 and 1099.
Change the line to "num = 100 + rand() % 899;"
That should work.