1 / 12

Dátové Prúdy konzola

Streams. Dátové Prúdy konzola. Čo je prúd (stream). Mnoho periférií v počítači pracuje na princípe sériového toku dát. Klávesnica – stlačené klávesy (znaky) postupujú v poradí stlačenia do počítača (programu) Obrazovka – z obrazuje postupne prijaté znaky (text)

nubia
Download Presentation

Dátové Prúdy konzola

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Streams Dátové Prúdykonzola

  2. Čo je prúd (stream) • Mnoho periférií v počítači pracuje na princípe sériového toku dát. • Klávesnica – stlačené klávesy (znaky) postupujú v poradí stlačenia do počítača (programu) • Obrazovka – zobrazuje postupne prijaté znaky (text) • Pevný disk – ukladá prijaté dáta na úložné médium, resp. číta uložené dáta a v pôvodnom poradí ich posiela do počítača • ....

  3. Čo je prúd (stream) • Stream – „zapúzdrenie“ toku dát • Zapúzdrenie = ovládanie toku dát v programe je v podstate rovnaké nezávisle na jeho zdroji • Jednotnosť = toky dát sa ovládajú rovnakými príkazmi + niekoľkými špecifickými príkazmi

  4. Vstup z klávesnice (zo zdroja dát) • cin – objekt pre obsluhu toku dát z klávesnice • Je súčasťou knižnice <iostream> • cin >> premenná – extrahuje z toku dát jednu časť (číslo, text) a uloží ju do premennej. • Výraz (cin >> premenná)je true, ak sa operácia podarila, inak je false • Separátorom hodnoty je ľubovoľný prázdny znak (medzera, tabulátor ‘\t’, nový riadok) • Extrahovanie možno reťaziť:cin >> a >> b >> c;

  5. Vstup z klávesnice (zo zdroja dát) • Ak sú čísla oddelené iným znakom (napríklad čiarkou) môžeme tento znak načítať do pomocnej premennej typu char, a tým ho ignorovať • Príklad: na klávesnici napíšeme 1.5,2.7,3.1 floata,b,c; char x; cin >> a >> x >> b >> x >> c;

  6. Vstup z klávesnice (zo zdroja dát) • cin.peek() – vráti prvý znak (ktorý práve čaká na načítanie), ale nenačíta ho • cin.putback(znak) – vráti znak späť do toku dát, budeme ho môcť neskôr načítať • cin.ignore()- načíta (a ignoruje) všetky znaky, ktoré boli pripravené v toku dát. Používa sa, ak chceme ignorovať všetko, čo užívateľ medzičasom nastláčal na klávesnici

  7. Vstup z klávesnice (zo zdroja dát) • cin.get() – načíta iba jeden znak • cin.eof()– vráti true, ak prišiel znak konca toku dát (Windows: CTRL+Z, iné systémy aj CTRL+D) • Správanie sa pri týchto metódach závisí čiastočne od zdroja dát a aj od operačného systému while(!cin.eof()) { a=cin.get(); cout << a << " "; }

  8. Výstup na obrazovku (do úložiska dát) • cout – objekt pre obsluhu toku dát smerujúceho na obrazovku • Je súčasťou knižnice <iostream> • cout << premenná – vypíše obsah premennej na obrazovku • Výpis možno reťaziť:cout << a << b << c; • Premenná sa vypíše v prirodzenom tvare (číslo ako jeho hodnota, char[] ako text, char ako písmeno, &x ako adresa v pamäti

  9. Výstup na obrazovku (do úložiska dát) • Formátovanie výpisu • Ak chceme obsah premennej interpretovať ako premennú iného typu – tzv. cast-operátor: char znak = ‘A’; cout << znak << “ “ << (int)znak ; Premenná znak je typu char, vypíše sa preto písmeno A Pre potreby tejto operácie (výpisu) sa premenná znak prerobí na typ int, vypíše sa teda číslo 65

  10. Výstup na obrazovku (do úložiska dát) • Cast-operátor môžeme použiť hocikde v programe, kde to potrebujeme • Typická situácia – podiel dvoch celých čísel: int i=1, j=2; float podiel; podiel = i/j; podiel = (float)i/(float)j; V algebraickom výraze sú obe premenné typu int, aj výsledok bude int, čiže 0 !!!!! Pre potreby tejto operácie (podielu) sa obe premenné prerobia na typ float, výsledok bude tiež float, čiže 0.5

  11. Výstup na obrazovku (do úložiska dát) • Úprava formátu vypisovaných čísel • Knižnica <iomanip> • Do toku dát „primiešame“ povely pre zmenu formátovania • Povel platí, kým ho nezmeníme (teda aj pre ďalšie výpisy) float a=314.15926535; cout << setprecision(6)<< a; cout << setprecision(2) << a; Zobrazia sa iba dve platné číslice. U čísla 310 je nejasný počet platných číslic, preto výpis je automaticky vo vedeckej notácii: 3.1e+002 Odteraz sa čísla vypisujú na 6 platných číslic, vypíše sa: 314.159

  12. Výstup na obrazovku (do úložiska dát) cout << fixed << a; cout << scientific<< a; Odteraz sa čísla vypisujú ako štandardné desatinné čísla s pevným počtom desatinných miest, vypíše sa: 314.16 (stále platí setprecision(2)) Odteraz sa čísla vypisujú vo vedeckej notácii na pevný počet desatinných miest. Stále platí setprecision(2), teda sa vypíše: 3.14e+002

More Related