p6 Flashcards
sta je cin i sta se tu nalazi
cin je globalna varijabla u koji se smjesta objekat tipa isteram
sta»_space; u cin omogucava
da koristimo rightshift kao operator koji nam omogucava unos sa tastature
objasni rad»_space; i cina
kada se pokrene egzekucijaa programa on ceka unos sa tastature –> tada radi line discipline terminala odnosno linijski editor teksta koji ceka da upisemo tekst u terminal
> > u pozadini poziva funkcionalnost koja to omogucava
editovanje traje dok korisnik ne unese enter i right shift dobije cijelu liniju teksta dok se ne unere enter iskljucujuci /n
sta je carrat
linija koja oznacava poziciju kursora i ona se moze mijenjati strelicama na tastaturi lijevo i desno a nezeljeni teskt je moguce izbrisati backspaceom
to se zove rudamentarno editovanje
sta se desi kada pri egzekuciji programa unesemo tekst i pritisnemo enter
kada se udari enter kompletna linija teksta se unese u jedan dio memorije koji nazivamo buffer (NE IDE DIREKTNO U VARIJABLU) i u njemu se tada nalaze svi uneseni kaarakteri
U PROGRAMU POSTOJI SAMO 1 ULAAZNI BUFFER
sta je parsiranje
pronalazenje i transformacija neceg nizeg stepena uredjenosti u visi stepen urednjenost
ko vrsi parsiranje i kako
parsiranje vrsi»_space; operator tako sto pocinje aalizirati tekst iz buffera. pozicionira se na sami pocetak linije teksta i skrenira buffer do prve pozicije na kojoj se NE naalazi prazno mjesto. kada nadje prvo mjesto koje nije prazno ond na kom se nalazi neki karkter to kopira i nastavlja dalje da konzumira liniju teksta DO praznog mjesta
Odnosno»_space; cita tekst iz buffera i kopira u varijablu uzimajuci u obzir njen tip sve do prvog praznog mjesta ili nevalidnog karaktera
> > ignorise prazna mjesta ako ih je vise, ali cim dodje do prvog obustavlja konzumiranje teksta i parsiranje u var
ukoliko unos teksta sa tastature bude vise rijeci sta ce se desiti
prva rijec nakon parsiranja ce biti smjestena u varijablu a ostatak rijeci biti ce spremljen u ulaznom bufferu pa pri ponovnom ucitavanju teksta u neku drugu var ucitati ce se tekst iz ulaznog buffera odnosno terminl nece traziti unos teksta iako mozda postoji cin
sta right shif konzumira
tekst iz ulaznog buffera ali ne sav tekst vec tekst do prvog nevalidnog karajtera odn praznog mjesta
kako se invalidiraju string i vector
obzirom da sting uzima bilo kakav tekst ukljucujuci i cifre i spec karaktere (jer sve to ima ASCII vrijednot) cin se ne moze invalidirati nekim posebnim karakterom vec samo enterom ili EOF karakterom
dok je kod vektora moguce invalidirati cin sa karakterom koji se razlikuje po tipu od tipa vrijednosti njegovh elemenata!!! odnosno ili prazan karakter ili neko slovo koje bi u kombinaciji sa prethodnim unosom dali nevalidan unos
ako se desi greska pri unosu sta se nalazi u va
ako je unos INVALIDIRAN (npr ako kod vec int pokusavamo unositi sova konstantno) vrijednost u varijabli ce biti proizvoljna
konverzija cin u bollean i sta to znaci
cin iako objekat moze da se konvertuje u tip bool pri cemu ce se konvertovati u true ako je posljednji unos bio validan a u false ako je posljednji unos bio neuspjesan
da li je moguce unositi vrijednosti u vise var odjednom
da cin»_space; x»_space; y
kao i za cout
sta ukoliko je posljednji unos bio neuspjesan
ne moze se vise unositi karakteri putem»_space; te je potrebno vartiti sve bite na interno stanje odn originalne postavke i koristimo
cin.clear()
nakon tog se cin u kodu tretira kao da je zadnji unos bio uspjesan
kako se moze ispitati da li je unos bio uspjesan
if(cin»var)
{
//
//
}
ako je uspjesan unos izvrsice se stejtmenti unutar if bloka
sta se desi sa input bufferom pri terminaciji programa
brise se sve iz njega