void command_menu(){
string command = "default000",
command_upper;
bool incorrect_input = false;
do{
clear_replit();
default_display();
cout << "\nType 'commands' to see a list of options, or enter a command.\n";
if(command == "default000"){}
else{
cout << special_text("red","'");
cout << special_text("green", command) << special_text("red", "'");
cout << special_text("red", " is not a recognized command.\n");
}
getline(cin, command);
command_upper = string_toupper(command);
if(command_upper == "COMMANDS"){
list_of_commands();
}
У меня проблема с запуском этого фрагмента кода, которая не была решена добавлением cin.ignore () или cin.clear () или обоих до или после команды getline.
Если я ввожу "команды" в командной строке, проверка if (command = "commands") проходит. Если я сначала наберу gibberi sh («бла»), меня снова спросят, как и ожидалось, и если я введу «команды», оно сохранит слово «команды» в переменной getline, но теперь if (command = = "commands") проверка не удалась.
Если вам нужен рабочий код, весь мой проект можно найти здесь: https://repl.it/@AndreLouis / Scrabble # main. cpp
Воспроизведите ошибку, сначала набрав «commands» и увидев выполнение программы, затем снова запустите программу, введите «blah», а затем введите «commands».