Loading...
JOHNY avatar JOHNY 196 Точки

Проблеми с getline в Домашно от "Упражнение цикли 2", задача 2 - Exam Preparation

Здравейте,
За пореден път имам проблеми при използване на getline(cin,string);, като вместо в конзолата да чете вход, Visual (а и judge) директно прескачат реда, все едно не съществува.
Ето код от конкретната задача.

На редове 18 и 19 ще видите едно и също, а именно getline(cin, name);, където name е името на съответния пореден урок.

Логично погледнато би трябвало два пъти да се очаква вход при повторение на двата реда. Да, ама не. Така програмата работи и дава 100 точки в judge.

Ако изтрия дублиращият ред всичко отива по дяволите и getline не чете нищо, четат се само числата (оценките по съответния предмет, който getline е трябвало да "хване").

Въпросите са два:
1. Защо се случва това?

2. Кога се случва това и как да се избегне? Личните ми впечатления показват, че се случва при въвеждане поредно чрез getline и cin >>, но нали използваме getline заради проблема на >> с "white spaces" (не може да прочете фраза с интервал в нея, а взима стойността само на низа до интервала)?

Благодаря предварително за помощта. Минаха часове, докато успея да хвана защо всичко се дъни...

 

Тагове:
0
Programming Basics with C++
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.