Поскольку вы игнорируете первую строку с оператором cin.ignore.
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
Это будет игнорировать всю строку.
Удалите это, и вы получите то, что вы хотите.
Возможно, вы также захотите сбросить поток cout, чтобы сразу получить отпечатки на экране.Добавьте cout.flush();
перед вашим getline.