How to effectively design a C++ modular program? How to learn?
For a beginner, you may want to take the "brute force" process:
1. Write a simple main
function in one file.
2. Add some functionality, compile then test.
3. Refactor (use this keyword in Google).
Here are some guidelines for refactoring (not all of them may apply at the same time):
An alternative is to design a program into functional blocks and data structures. Repeat until the blocks and classes are simple enough for a non-programmer to understand. Then start implementing. Test Driven Development is a good process to use.