Puoi uscirne in questa maniera:
codice:
#ifdef _WIN32
#include <windows.h>
#else
#include <iostream>
#endif

void ClearScreen()
{
#ifdef _WIN32
    // Codice per Windows
    // Handle alla console
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    // Coordinate a cui resettare il cursore
    COORD coordScreen = { 0, 0 };
    DWORD cCharsWritten;
    CONSOLE_SCREEN_BUFFER_INFO csbi;
    DWORD dwConSize;

    if(hConsole==NULL)
        return;
    // Ottiene le dimensioni della console corrente
    if( !GetConsoleScreenBufferInfo( hConsole, &csbi ))
        return;
    dwConSize = csbi.dwSize.X * csbi.dwSize.Y;

    // Riempie lo schermo di spazi
    if( !FillConsoleOutputCharacter( hConsole, (TCHAR) ' ', dwConSize, coordScreen, &cCharsWritten ))
        return;
    // Ottiene gli attributi di carattere correnti
    if( !GetConsoleScreenBufferInfo( hConsole, &csbi ))
        return;
    // Imposta tutto lo schermo a tali attributi
    if( !FillConsoleOutputAttribute( hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten ))
        return;
    // Sposta il cursore a (0,0)
    SetConsoleCursorPosition( hConsole, coordScreen );
#else
    // Fallback sugli escape ANSI
    std::cout<<"\x1B[2J\x1B[1;1H";
    std::cout.flush();
#endif
}