Только используя первый символ ввода в переменную char - PullRequest
0 голосов
/ 30 января 2019

Так что мне нужен этот ввод, чтобы использовать только первый символ ввода

cout << "\nEnter option ===> ";
cin >> selection;
selection = toupper(selection);

Например, если вы введете «hOttTtt», он должен смотреть только на H.

Если яне делайте этого, он принимает каждую букву в качестве ввода.

        default:
            cout << "\nPlease enter H,D,S,L,F, or X";
            cout << "\nEnter option ===> ";
            cin >> x;
            x = toupper(x); 

Это часть оператора switch, которая выполняется, если это не определенная буква, если это помогает.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 30 января 2019

Если входные данные могут содержать пробелы, вы должны использовать std::getline вместо std::cin самостоятельно.Это просто хорошая практика, даже если ваше единственное намерение - посмотреть на первый символ ввода.

В любом случае:

std::string selection;
std::cout << "Say something: ";
std::getline(std::cin, selection);
char fstCh = selection.at(0);

После этого fstCh будет содержать первый символвход в selection.Если вместо этого вы используете необработанный массив char [], это selection[0].

...