Not saying that using a string here is a bad idea, it really depends on what is required. In the simple case of being given an integer and printing out yes or no this is valid, I still think using / and % is easier, especially if the programmer is a beginner who isn't used to atoi, stringstreams, etc.

The leading zeros restriction was not added by the OP, and it doesn't matter anyway if you are just doing data validation. The div and mod validation technique works fine with 00112. It does make it a little harder to format the output correctly, but that is assuming the data needs to be spit back out.