I am making a random number generator. I have fixed all issues except for one. I am supposed to ask the user for how many digits the user wants the numbers to have. How many numbers does the user want. Then randomly generate numbers according to what the user entered. So if the user said 2 digits and wanted 4 numbers then it would output 4 random numbers in the range of 10 to 99.

My notes from class show this working correctly. And it does work correctly. But I don't understand the math here or how the modulus effects it. I was able to get 1 and 2 digits to work but once I get to 5 it doesn't generate numbers correctly. it will only generate number s

Code:

int min =1;
int max = 9;int number1 = rand();
cout << number1 % max + min << "\t";

here is the 3 digit code I have. I also need to figure out how to make it unique so no number generates more then once. I think the issue may be that the numbers are not unique and it is generating the same number and that is somehow effecting the numbers it is outputting. It is either that or my math is wrong. If someone could explain to me how the modulus effects it I would probably be able to figure the others out.

Code:

if (intLength == 5)
{
for (int i = 0; i<intQuantity; i++)
{
int min = 10000;
int max = 90000;
int number1 = rand();
if (intQuantity > max)
{
intQuantity = max;
}
cout << number1 % max + min << "\t";
}