Ваша программа отлично работает на моей системе (Mandriva Linux 2010.1 64-bit).
Распространенная проблема при разработке простых программ, выполняющих ввод / вывод текста в Windows, заключается в том, что окно консоли (cmd.exe), в котором они запускаются, само закрывается после завершения программы. Это не позволяет разработчику / пользователю прочитать окончательный вывод программы. Возможно, это то, что происходит в вашем случае?
EDIT:
Подтверждено в Visual Studio 2010. Окно закроется, прежде чем вы сможете прочитать вывод. Вы можете обойти эту проблему, если добавите
system("pause");
или просто прочитайте пустую строку ввода перед оператором возврата. Имейте в виду, что «трюк» system("pause")
специфичен для Windows, и я не рекомендую его, хотя набирать его немного быстрее.
РЕДАКТИРОВАТЬ 2:
Я попытался прочитать пустую строку ввода и понял, что вам может потребоваться прочитать две такие строки, потому что у вас уже есть оставшийся символ новой строки во входном буфере, который имеет не был получен последним оператором cin
.