to zamyka się sam bez pokazania ostatniego zdania z couta.
To wbrew pozorom jest "normalne" zachowanie.
Program konsolowy który na początku otwiera konsolę, zamknie ją też gdy się zakończy. Nie interesuje go, czy jest jeszcze jakiś cout. Koniec programu, koniec okna. Dlatego typowo konsolowe programy interaktywne otwiera się z poziomu już otwartej konsoli.
To, że w VSie okno nie zamyka się po zakończeniu, to ficzer VSa.
Jeśli chcesz żeby okno zawsze prosiło o wciśnięcie klawisza, możesz dodać na końcu `cin >> jakis_znak` lub `system("pause")`... albo ustawić breakpoint na samym końcu `main`a.