Well, first off, this code could not have compiled. You can't assign a value to the cout object, as you do in the first line of the do-while loop. If you're going to post code, you're probably best off copying and pasting the actual source code you're working from, as typos are one of the biggest error sources, and typos just get magnified when you manually transcribe the code into your post.
With the value assigned to count instead of cout, the program compiles, and it actually does quite a bit - it enters into an infinite loop. The main reason for this is that the value of your variable num never changes - it's always the value that the user entered. So when you assign quotient=num/10, it's always got the same value, and the termination condition for the loop is never reached. To get around this, you could assign quotient the value of num prior to entering the loop, and assign it the value of itself divided by 10 within the loop:
CODE
quotient=num;
do {
quotient=quotient/10;
//....etc
}
However, although this will work to get the loop to execute properly, you won't get the correct number of digits in the number. THis is because you reassign the variable count a value of 0 every time through the loop. Move that assignment to a point before the loop, and you'll be on the right track. You should probably also move the
quotient=quotient/10 statement that I suggested to a point after you conditionally increment the count variable. If you keep the current order of the assignment and increment steps, you'll always wind up with one fewer digits than the number actually has (can you see why?).
Hope that helps

-jjh