As you can see in the image, an example of how to organize:

in the root of the directory (unless you have multiple projects, in which case you create a directory for each one)
where the executables and other files that the compiler needs go, they go in:
build
or
bin
or
output
or
out
The source code files go in:
src
.h files can go in a directory (at the same level as /src)
include
This last one is not in my example, because it occurred to me later
If you use a version manager like git (github, gitlab), you will have a README file (optional) and .gitignore (optional, it is a hidden file hence the dot (.))
at the root of everything:
- README.md
- .gitignore
In the .gitignore you will put the files and directories you want to ignore such as .DS_STORE (on Mac) or the hidden vs_code configuration directory (.vscode)
This is if you use the pure language, if you use a framework like Springboot in Java, the framework will create a directory structure for you.
Here is a real example: