У меня есть код: Я хочу взять идентификатор, убедитесь, что он имеет 8 символов в длину, убедитесь, что каждая цифра - это номер, и продолжайте спрашивать, пока они введите правильный ввод. До того, как кто-то узнает об этом, я исследовал и попытался посмотреть ответы: c Я не понимаю, почему он говорит, что идентификатор ввода 00000002 является недопустимым идентификатором в соответствии с моим кодом. Это не работает. может ли кто-нибудь помочь?Где я ошибаюсь Re: проверка данных C++
void Student::getData(){
string id_;
cout << "lastName?" << endl;
cin >> lastName;
cout << "firstName?" << endl;
cin >> firstName;
cout << "ID?" << endl;
while(getline(cin,id_) && id_.size() != 8){
cout << "Invalid ID" << endl;
}
Вы добавили cout для просмотра фактического размера 'id_'? что поможет вам отлаживать немного больше. – scrappedcola
Рекомендовать инвестировать некоторое время в изучение использования отладчика, который поставляется с вашей IDE. Это бы показало вам, что происходит почти мгновенно. Он бы не сказал вам, почему, но сделал бы ваш поиск ответа намного проще. Это вопрос, который задают пару раз в неделю. Возможно, нам понадобится «почему getline не работает?» псевдо-вопрос, для которого его легче искать. – user4581301