Stream cin
Tak, ako stream cout
, tak i cin
je objekt. Jeho použitie je:
int hmotnost; cin >> hmotnost;
Pre stream cin
sa využíva operátor >>. Tento operátor získava znaky zo vstupného prúdu. Za týmto operátorom dáte meno premennej, na ktorú sa bude vzťahovať hodnota, ktorú zadáte na klávesnici.
Stream cin
zaznamenáva vstup od užívateľa do programu. Podobne ako cout
, aj cin
je inteligentný objekt, narozdiel od funkcie scanf()
z jazyka C. Stream cin automaticky konvertuje vstup z klávesnice do tvaru zadeklarovanej premennej. V prípade našom, ak premenná hmotnosť je typu int
, tak aj hodnota, ktorú zadáte, sa automaticky pretypuje na int
.
Najlepšie si to ukázať na príklade.
Príklad 1: Použitie stream cin a preopakovanie stream cout
#include <iostream> using namespace std; int main() { cout << "Zdraví ťa program HAL 9000, superinteligetná umelá bytosť\n"; cout << "Začnime s menším programom výučby z jazyka C++: stream cout a cin\n"; cout << "Chcem, aby sa s teba stal špecialista na jazyk C++ a raz naprogramoval v tomto jazyku moje dvojča ;)\n"; cout << "\n"; cout << "Ako sa voláš a aký je tvoj vek?\n"; string meno; int vek; cout << "\n"; cout << "Zadaj tvoje meno: "; cin >> meno; cout << "\n"; cout << "Zadaj tvoj vek: "; cin >> vek; cout << "\n"; cout << "Aaaa, tak ty sa voláš "<<meno<<"a tvoj vek je "<<vek<<"\n"; cout << "Co povieš na to "<<meno<<"si ukázať par fintičiek, ktoré ťa čakajú v budúcich častiach seriálu o jazyku C++?\n"; cout << "\n"; cout << "Ak súhlasíš, odpovedz ano, ak nesúhlasíš, odpovedz nie: "; string odpoved; cin >> odpoved; cout << "\n"; if (odpoved == " nie" ) { cout << "Sklamal si. S tvojim prístupom to nikam nedotiahneš!"; return 0; } if (odpoved == "ano") { cout << "Fajn, potešil si ma. Poďme sa pohrať s racionálnymi číslami\n"; cout << "\n"; cout << "Zadaj racionálne ľubovolne číslo: "; double vCislo; cin >> vCislo; cout << "Ak vynásobíme tvoje zadane číslo "<<vCislo<<" samou sebou, dostaneme: "<<vCislo*vCislo<<"\n"; cout << "Fajn, viem, ze som ti dal zabrať, na dnes stačilo, co povieš?\n"; cout << "Ako si spokojný so svojim vyučujúcim(so mnou)?\n"; int znamka; cout << "Ohodnoť vyučujúceho známkou od 1 do 5 ako v škole: "; cin >> znamka; cout << "\n"; if (znamka == 1 || znamka == 2) // symbol || znamená, že ak jedna z podmienok nastane, tak sa vykonajú jednotlivé príkazy v tele podmienky { cout << "Som rad, ze si spokojný ;)\n"; cout << "Uvidíme sa nabudúce, maj sa\n"; return 0; } else cout << "Je mi ľuto, ze sa ti nepáčil malý kurz, budem sa nabudúce viac snažiť ;)\n"; return 0; } else cout << "Ani písať poriadne nevieš, za trest si program spustiš ešte raz, zatiaľ sa maj!"; return 0; }
V príklade som využil stream cout
, cin
a podmienky. Podmienky sa určite objavia v ďalších častiach seriálu a sú veľmi dôležitou súčasťou moderného vývoja softvéru.
Myslím, že príklad dá nováčikom potrebnú prax pre zvládnutie stream cout
a cin
. V ďalších častiach sa už k tomu nebudeme zaoberať.
Funkcia scanf()
Tak, ako printf
vieme využiť v jazyku C++ na výstup programu, aj funkciu scanf
vieme využiť ako vstup v C++.
Nezabudnite na hlavičkový súbor #include <stdio.h>
.
2.príklad: použitie funkcie scanf()
a preopakovanie funkcie printf()
#include <iostream> #include <stdio.h> using namespace std; int main() { int vek; printf("Zadajte váš vek: "); scanf("%d", &vek); printf("Váš vek je %d\n", vek); return 0; }