В основном то, что я сейчас имею, это:
//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 () или каким-либо другим способом.
Спасибо за вашу помощь.