Как я могу попросить пользователя ввести и отобразить что-то в той же строке? - PullRequest
0 голосов
/ 06 мая 2018

В основном то, что я сейчас имею, это:

//generates the menu
void menu(int TL, string title) {
    char a;

    //menu layout
    cout << title << endl;
    emptyLine(TL);
    centreHeading(TL, "OPTIONS");
    emptyLine(TL);
    centreText(TL, "(1) PLAY");
    centreText(TL, "(2) SET GAME LENGTH");
    centreText(TL, "(3) SET ROW LENGTH");
    centreText(TL, "(4) PEG SETTINGS");
    centreText(TL, "(9) HELP");
    centreText(TL, "(0) EXIT GAME");
    emptyLine(TL);
    cout << "|" << setw(19) << ""; cin >> a; cout << setw(19) << "|" << endl;
}

И я вижу это:

Здесь я использую 6 в качестве входа. Обратите внимание, что cin >> автоматически перемещается на новую строку после ввода, и поэтому | не к месту.

Как мы можем убедиться, что видим это вместо этого?:

Обратите внимание, что вход 6 все еще там, но | находится на той же строке, что и вход, обведено красным.

Я пытался найти решение, но, похоже, другие больше заинтересованы в том, чтобы предотвратить чтение символа \ n последующей getline () или каким-либо другим способом.

Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...