cout << "Введите название дисциплины: ";
cin.getline(ctemp, 20); strcpy(un[i].clas, ctemp);
cout << "Введите количество практических работ: ";
cin >> itemp; un[i].count = itemp;
cout << "Введите название группы: ";
cin.getline(ctemp, 20); strcpy(un[i].gr.group_title, ctemp);
cout << "Введите количество студентов в группе: ";
cin >> itemp; un[i].gr.st_count = itemp;
cout << endl;
}
Почему эти getline неверно работают?
https://imgur.com/n1YX3Hw
В чём неправильность? /что ожидаешь, что получаешь?
У тебя там мусор просто в поток попадает, видимо, от предыдущего ввода, и он летит автоматом в ctemp. Предлагаю использовать https://en.cppreference.com/w/cpp/io/basic_istream/ignore после каждого ввода чтобы сжирать всё оставшееся до следующего перевода строки.
Обсуждают сегодня