Zack, % and / are not the same operators. We should make that clear. They ARE related, but not the same. First, let's do some division practise.
There are ten apples, and three people. They want to divide fairly, but they dont want to break any into pieces. What happens? They each take 3, and leave one over. That one apple is the remainder. Now, in terms of C++, that equation is the following:
10 modulus 3 equals 1. Or simply, if you divide 10 by 3 without decimal places, you'll have a remainder of 1.
Now, it happens that using number%2 will give you even/odd status. For example: 2%2=0. 2 divided by 2 will give you no remainder. 3%2=1. 3 divided by 2 will give you 1 remainder. 4%2=0. 4 divided by 2 gives no remainder. So that is the basis of your program.