cin>>t;
читает число от пользователя. Поскольку пользователь должен нажать ввод после числа, вам нужно cin.ignore()
, чтобы игнорировать символ новой строки. Однако в цикле вы используете getline
, который читает всю строку. Нечего игнорировать, так как вы прочитали всю строку. Поэтому вам нужно переместить cin.ignore()
в до цикла.
Лично я предпочитаю всегда читать строки от пользователя, поскольку я ожидаю, что пользователь введет.