This would loop only once, because as Eddie said, do...while will always loop atleast once, and num is never less than 0 - as a matter of fact, you increment num + 5 every loop so it will loop once, and set num to 10 - and will really solidify the fact that num will never be less than 0
Try this code, instead - Notice that the num variable is initialized with a value of 5, and the while (num <= 20) says run this loop until num = 20; This is achieved by the num += 5 which adds 5 to num every iteration of the loop.
int num = 5, count = 0;
cout << "Looping!\n";
num += 5;
}while(num <= 20);
cout << "You looped " << count << " times!\n";
4 Loops occur because it loops once automatically to test for a condition, then when it see's that num only equals 10, it loops two more times, and then, even though num = 20 by this time, it has to loop one more time before it reaches the conditional that tells it to stop at the bottom, creating 4 loops. - Because it should only loop 3 times right, since num is set to 5 to begin - so add 5, 3 times, after the intial value of 5 and you get 20 - But it has to do that last loop to reach the conditional at the bottom.