A core feature of Visual Studio that allows developers to inspect, analyze, and troubleshoot code during execution.
A process can have only one associated console. This is documented here - allocconsole. If you want to use more than one console window you will need to create another process and then use some form of inter-process communication (e.g., pipes) to communicate between them. For example, the initial process can use its own console to receive user input and then sends output to the other process through a pipe. The receiving process reads data from the pipe and displays it on its own console.
For a working sample see Multiple-consoles-for-a-single-application