Как игнорировать вторую букву из пользовательского ввода - PullRequest
0 голосов
/ 08 мая 2019

У меня есть здесь главное меню, которое запрашивает выбор пользователя.Проблема заключается в том, что всякий раз, когда пользователь вводит выбор, например, «AB», «BC», он переходит в другой раздел, поскольку программа считывает «(A) B» или «(B) C».Я хочу, чтобы ошибка выскакивала, если пользователь вводит такой выбор enter image description here

1 Ответ

0 голосов
/ 08 мая 2019

Прочитать всю строку как строку, проверить ее размер и сообщить об ошибке, если она больше 1.

#include <iostream>
#include <string>

int main() {
  std::cout << "Enter A, B or C\n";
  std::string line;
  std::getline(std::cin, line);
  if (line.size() > 1)
  {
    std::cerr << "Invalid input\n";
    return -1;
  }
  std::cout << "Your option is " << line << std::endl;
  return 0;
}

Введите A, B или C

ABBBBBBBBB

Неверный ввод

статус выхода 255

...