Witam, mam prosty kod wczytujący ciąg znaków do momentu natrafienia na symbol '#'. Kod dział, ale okno zamyka się zaraz po wykonaniu programy. zwykle aby tego uniknąć stosuje cin.get(); tym razem jednak pętla sprawdza kolejne wczytywanie znali i jeden cin.get(); nie wystarcza (ich ilość jest zależna od użytkownika wiec nie mogę zdefiniować pętli która by generowała odpowiednia ilość cin.get(); ) wrzucenie cin.get(); do pętli sprawdzającej skutkuje utrata co .drugiego znaku. Jakieś rady jak to ominąć ? (Kod z podręcznika S Praty). Próbowałem również cin.clear(); oraz cin.ignore(); efekt ten sam
// textin2.cpp -- wczytywanie znakow w petli while
#include<iostream>
int main()
{
using namespace std;
char ch; // zmienna literowa
int count = 0; // licznik wprowadzanych znakow
cout << "Podaj tekst do wprowadzenia; # konczy ciag znakow." << endl;
cin.get(ch);
while (ch != '#')
{
cout <<ch; //wyswietl znak
++count; //dolicz znak
cin.get(ch); //pobierz nastepny znak
}
cout << "\nWprowadziles " << count << " znakow" << endl;
cin.get();
return 0;
}