Здравствуйте, DukeNukem3D, Вы писали:
DND>я как-то неправильно getline использую?
Нет, ты неправильно используешь чтение y/n.
Дело в том, что
cout >> "yes or no? ";
cin << c;
getline(cin, s, '\n');
Отрабатывает следующим образом:
1) выводится просьба
2) cin<<c передаёт управление консоли
3) консоль ожидает завершения ввода (для неё это символы LF или EOF)
4) ты вводишь 'Y' и LF (чтобы завершить ожидание)
5) консоль возвращает управление
6) cin<<c читает первый символ ('Y'), в буфере остаётся LF
7) getline() читает строку до LF включительно — что, собственно, ты и наблюдаешь.
Необходимо после чтения однобуквенного ответа очищать буфер до конца строки.
... << RSDN@Home 1.2.0 alpha rev. 655>>