back to your questions thought:
You can set breakpoints and debug in dev-c++, though its not the best debugging environment. You could also get Microsoft's free c++ edition.
You've now encountered 2 of the many c++ pitfalls, and survived them, so you are on the right track.
You can initialize variables in c++ when you declare them:
Actually understanding why int variables are not initialized will tell you a bit about the mindset of c++ coders and compiler designers. C and C++ are designed for speed - so unless you specifically tell the program to set the variable, it's not going to waste precious cpu cycles doing it for you.