přejít na obsah přejít na navigaci

Linux E X P R E S, Programovanie v jazyku C++: Stream cout

ALTEC

Programovanie v jazyku C++: Stream cout

cplusplus.png

V tomto článku si rozoberieme stream cout, ktorý sa využíva na výstup programu. Okrajovo spomenieme aj funkciu printf() , s ktorou sú céčkári určite oboznámený.


reklama

Stream cout

Máme nejaký program, ktorý niečo vykonáva, napríklad sčítava nejaké čísla. Bolo by zvláštne robiť program, v ktorom by používateľ neuvidel napríklad výsledok sčítania.

Každý program v jazyku C++ (i vo všetkých ostatných programovacích jazykoch) podporuje vstup a výstup. Vstup a výstup radíme ako interakciu s používateľom. Vstupom rozumieme, že zadáme nejaké údaje programu, ktoré vyhodnotí a výstupom bude napríklad nejaká tabuľka, graf alebo hodnotu, ktorú potrebujeme.

Stream cout je práve na to, aby zobrazil údaj na výstupnom zariadení, akým je napríklad monitor. Ukážme si, ako by taká deklarácia príkazu mohla vyzerať a trošku si o tom povieme viac.

cout << "Jupiter je najväčšia planéta v Slnečnej sústave";

V časti uzatvorená znakom " je reťazec, ktorý sa zobrazí na obrazovke. Reťazec definujeme ako skupinu viacerých znakov. Operátor <<  posiela reťazec k streamu cout.

Identifikátor cout (std::cout) je globálna statická inštancie triedy std::ostream. Ale to veľa predbiehame, k práci s objektmi sa dostaneme neskôr.

Vo všeobecnosti má cout tu vlastnosť, že vie, ako má zobraziť reťazce, číselné hodnoty a samostatné znaky.

Vráťme sa ešte k operátoru <<. Tí, ktorí sú zbehlejší v programovacích jazykoch alebo tí, čo prechádzajú z jazyku C na C++, by mali poznať, že << je binárny posun do ľavá. Stream cout využíva <<  na iný účel, dochádza tak k preťaženiu.

Preťaženie sa rozumie tak, že ten istý symbol má rôzne významy. Ak budeme preberať objektovo orientovaný štýl programovania v jazyku C++, uvidíte, že môžete sami preťažovať napríklad funkcie.

Premenné a stream cout

Majme jednoduchý príklad:

#include <iostream>
using namespace std;

int main()
{
    int vaha = 38;
    cout << vaha;
    return 0;
}

V tomto príklade by sa nezobrazilo slovo vaha, ale hodnota premennej vaha, čiže číslo 38. Ak by sme napísali cout << "vaha"; vtedy áno, na výstupe by bolo vaha. Treba odlišovať reťazce od mená premenných.



Kombinácia reťazcov a premenných

Ako môžeme využiť stream cout je napríklad takto:

#include <iostream>
 
 using namespace std;
 
 int main()
 {
     int rychlost = 105;
     cout << "Dnes je veterne, rýchlosť vetra miestami dosahuje " << rychlost << "km/h.";
     return 0;
 }

Ak po reťazci chceme vypísať premennú (platí i naopak), dáme symbol <<. Napríklad v programovacom jazyku Java, má funkciu spájania textu s premennými operátor +.

Funkcia printf()

V jazyku C++ je možné využívať aj z jazyka C funkciu printf(). Ukážme si to na menšej modifikácii z predchádzajúceho príkladu.

#include <iostream>
 #include <stdio.h>
 
 using namespace std;
 
 int main()
 {
     int rychlost = 105;
     printf("Dnes je veterne, rýchlosť vetra miestami dosahuje %d km/h", rychlost);
     return 0;
 }

%d znamená typ premennej, ktorú chceme vytlačiť na obrazovke. Takto jednoducho odkazujeme na premennú rýchlosť.

Funkcia printf() oproti cout je menej inteligetná. Ak by ste sa pozabudli a miesto celočíselnej deklarácie %d napíšete, že je typu reťazec, čiže %s, nevšimne si funkcia printf() chybu.

Stream cout ale vie rozlíšiť typ premennej. Túto vlastnosť má vďaka preťaženiu operátora << (odlišné implementácie pre rôzne typy dát). Preto je pohodlnejšie využívať cout.

Ak by ste aj chceli využívať funkciu printf(), nezabudnite vložiť príslušný hlavičkový súbor pomocou #include <stdio.h>.

Na záver príklad

#include <iostream>
 
 using namespace std;
 
 int main()
 {
     int a = 52;   //deklarácie premenných
     int b = 44;
     cout << "Sčítanie dvoch čísel " << a << " a " << b << " je: " << a+b << "\n";  
	// zobrazí sa na výstupe
     cout << "Odčítanie dvoch čísel " << a << " a " << b << " je: " << a-b << "\n";
     cout << "Násobenie dvoch čísel " << a << " a " << b << " je: " << a*b << "\n";
     cout << "Delenie dvoch čísel " << a << " a " << b << " je: " << a/b << "\n";
     return 0;
 }

Nahoru

Příspěvky

Petr Valach Hodnocení = trapárna duševních méněcenných chudáků
Petr Valach 25. 05. 2016, 16:02:49
Odpovědět  Odkaz 
Baví mě sledovat, jak automaticky jsou Edovy články hodnoceny - 5, 5, 5.. Nevím, kdo to dělá, je to velmi trapné. Jsem rád, že na naší stránce OpenOffice.cz, kam Eda taky píše - článek mu vyšel třeba právě dnes - jsou lepší, kvalitnější čtenáři, kteří si podobné výstřelky zcela odpouštějí, protože jim připadají nedůstojné a nesmyslné.

Jsem rád, že Eda hodnocení nepřikládá žádný význam, protože hodnotit může, kdo chce, jak chce, zcela bez znalosti věci.
Programovanie v jazyku C++: Stream cout
Livan 25. 05. 2016, 17:46:19
Odpovědět  Odkaz 
V poslednej vete pred záverečným príkladom je chybička - "#include " rozhodne nie je knižnica ale hlavičkový súbor.
Lukáš Jelínek Re: Programovanie v jazyku C++: Stream cout
Lukáš Jelínek 25. 05. 2016, 19:35:40
Odpovědět  Odkaz 
Díky za upozornění, opraveno.

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky astrotech.cz. Mám 24 rokov. Čas trávim v IT škole. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.


  • Distribuce: ubuntu
  • Grafické prostředí: unity