• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Program pomija funkcję getline przy pierwszym wykonaniu pętli for

42 Warsaw Coding Academy
+2 głosów
225 wizyt
pytanie zadane 12 lipca 2021 w C i C++ przez n0sk1llexe Początkujący (300 p.)
zamknięte 12 lipca 2021 przez n0sk1llexe

Witam, poszukuję oświecenia, mianowicie chciałem się uporać z zadaniem ze spoja JZLICZ - Zliczacz liter. Tak jak zawarłem w tytule, program pomija funkcję getline, podczas pierwszego wykonania pętli for, ale za drugim razem normalnie czeka na wprowadzenie danych. Czy ktoś napotkał już podobny problem i mógłby wytłumaczyć, dlaczego tak się dzieje?

 

[...]
    int testy;
    cin >> testy;
    string znaki[52]; //26 małych liter i 26 wielkich liter
    for(int t = 1; t <= testy; t++)
    {
        string wejscie;
        getline(cin, wejscie);
        int i = 0;
        int dlugosc_wejscia = wejscie.length();
[...]
komentarz zamknięcia: Problem rozwiązany

1 odpowiedź

+3 głosów
odpowiedź 12 lipca 2021 przez dziablo Użytkownik (940 p.)
wybrane 12 lipca 2021 przez n0sk1llexe
 
Najlepsza
Dodaj

std::cin.ignore();

po cin >> testy;

wypelnianie cin >> testy konczysz enterem, ten enter '\n' niestety trafia do getline() przez to wyglada jakby przy pierwszym przejsciu petli nic sie nie dzialo

Podobne pytania

0 głosów
0 odpowiedzi 721 wizyt
pytanie zadane 16 kwietnia 2022 w C i C++ przez PoebWKlapkach Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 336 wizyt
0 głosów
2 odpowiedzi 1,287 wizyt

93,377 zapytań

142,379 odpowiedzi

322,528 komentarzy

62,727 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...