>1. automatically include head file.
In other words, you don't want to learn what goes where in the standard library. This doesn't strike me as a good feature anyway. If you remove all instances of (for example) ofstream, will you expect the IDE to remove the header as well?

What do you mean by "out of format"? Code::Blocks comes with a source code formatter that (at least) automatically indents your code (heck, it even has a "Java" setting)

Personally, I'd recommend Code::Blocks or Visual C++ 2005. (unless you're willing to pay for an IDE) Dev-C++ has also been recommended in the past, but it appears that there's no active development still going on there.

czy11421, you can't ask C++ IDE to automatically include headers, because C++ is not so limited language as java is. Maybe there are 4 different headers for one function? You really want an IDE to automatically read every include file, when it finds an undeclared? An IDE is not meant to be a MEMORY EATER.
The same question, what do you mean by "out of format"? If you mean indents and that type of stuff, then you may try what JaWiB recommended. But one thing I can tell you, no program can be that intelligent, to fix errors in your code.