I'm not a guru, I have to learn really a lot , but I think it's about basic concept. If you are creating a big program, you should choose between some basic concepts: object programming, modular programming, and other; or you can just code it, so you'll work out a big cpp program, that cannot be divided
(I haven't written a really big program, my largest had about 4000 lines with headers and all that stuff, so about 1000 lines of my own code. I divided it into about 10 cpp files, but maybe it was too many: I didn't know how to use projects so it was a nice mess there..)
Maybe you can read some tutorial(I had one downloaded, but I don't know from where) about basic concepts.
Also programming language should be chosen according to your concept, for example pure C isn't good for object programming.. C++ is much more better.