>the word "seeds" seems strange to me<
To seed is to provide a starting point from which a series will grow.
>what is the point of modulus in all this
To limit the value that rand() returns between certain values. rand() will return a value between 0 and RAND_MAX. Normally you wouldn't want this entire range so you can use the modulus operator to obtain the remainder
rand returns - 0,1,2,3,4,5,...
rand%3 returns - 0,1,2,0,1,2,...
So rand%3 will produce values between 0->2 inclusive.
rand returns - 0,1,2,3,4,5,6
rand%4 returns - 0,1,2,3,0,1,2,3
So rand%4 will produce values between 0->3 inclusive.
rand%n will produce values between 0->(n-1) inclusive.