Я хочу проверить, является ли символ на самом деле символом. Когда пользователь вводит строку букв, программа «abc» скажет, что пользователь должен ввести один символ.
Я думал об использовании
if(sizeof(userLetter != 1))
{
cout << "Enter only a single letter."}
Проблема в том, что userLetter инициализируется как символ, он автоматически обрезает оставшиеся буквы и считает, что пользователь вводит только одну букву.
Есть ли способ проверить, действительно ли пользователь вводит только 1 букву без инициализации userLetter в виде строки?
Если вы читаете символ, он будет читать только один и сохранять следующие символы в буфере.
Если вы хотите взять все, что пользователь вводит, пока он не нажмет первый ввод, вам нужно получить строку:
string line;
while (getline(cin, line) && (line.length()==0 || line.length()>1) )
cout << "Enter only a single letter..."<<endl;
Когда это закончится успешно, получите первый символ строки с userLetter = line[0];
Других решений пока нет …