Vstup a výstup pomocí textové konzole
C++ 11

image_printTisk

V tomto článku se velmi podrobně seznámíme se vstupem a výstupem na textovou konzoli. Začneme popisem jednoduchého vstupu a výstupu a pak dále navážeme, jak se pomocí speciálních příkazů, zvané manipulátory, provádí formátovaný výstup. Zmíníme například zápis čísel v různých číselných soustavách, výstup desetinných čísel v různých formátech nebo budeme mluvit o způsobech zarovnávání textu a s tím souvisejícími parametry.

Jednoduchý výstup

Začneme trochu opakováním úplně prvního článku o C++ na těchto webových stránkách. Následující příklad je trochu pokročilejší varianta příkladu, který byl ukázán v úvodním odkazovaném článku.

#include <iostream>
#include <string>
using namespace std;

int main() {
    string hello = "Hello";
    string world = "world";
    cout << hello << ", " << world << " !!!!" << endl;
    return 0;
}
Unable to connect to the JDoodle service.

První je nutné vložit do zdrojového souboru prostředky pro práci s textovou konzolí. To provedeme za pomoci direktivy #include, která vloží hlavičkový soubor <iostream> obsahující příslušné prostředky. Příkaz using namespace std je stále trochu tajuplný a ve stručnosti provede import identifikátorů ze jmenného prostoru std a usnadní nám ním práci. Dále na příkladu inicializujeme dvě proměnné, které mají datový typ string. Vzápětí provedeme příkaz pro výstup textu na konzoli. Zápis na textovou konzoli je provádí řetězením operátoru << do identifikátoru cout (console output), který se používá pro zápis obsahu na výstup. Na příkladu je vidět, že v zápise můžeme kombinovat jak pevné hodnoty, tedy texty napsané přímo ve zdrojovém souboru, tak i obsah proměnných různých datových typů.

Jednoduchý vstup

Na začátek si uvedeme kompletní příklad, který pak krok za krokem v následujících odstavcích si vysvětlíme.

#include <iostream>
using namespace std;

int main() {
    int hodnota = 0;
    cout << "Zadejte hodnotu: ";
    cin >> hodnota;

    hodnota *= 2;
    
    cout << "Dvojnásobek hodnoty je " << hodnota << "." << endl;
    return 0;
}

Význam preprocesoru jsme si v jedné z předchozích kapitol již vysvětlili. Nyní navážeme představením jeho další direktivy, a to #include, což v překladu znamená “vložit”. Tato direktiva neprovádí nic jiného, než že vloží na svoje místo obsah jiného souboru, a slouží primárně pro vkládání tzv. hlavičkových souborů, jejichž významem je deklarovat funkce, proměnné, případně i jiné jazykové prvky, nějaké knihovny, jejíž prostředky chceme použít. V našem příkladu řádek “#include <iostream>” vkládá prostředky pro práci s textovou konzolí pomocí knihovny STL.

Druhý řádek, kterým je uvozen náš příklad a má znění “using namespace std“, bude vysvětlen do podrobností až v závěrečné kapitole tohoto modulu. Prozatím se musíme smířit jen s jednoduchým vysvětlením, že provádí import jmen a jiných identifikátorů prostředků knihovny STL do našeho programu.

  1. teorie
    1. cout a cin, cerr a clog
    2. operátory << a >>
    3. std::endl

Shrnutí

 

image_printTisk
Vstup a výstup pomocí textové konzole
C++ 11
Ohodnoťte tento článek

Související články

  • Konstanty Tento článek si klade za cíl vysvětlit význam a princip fungování konstant v jazyce C++. Seznámíme se s důvody jejich zavedení, uvedu zde dvě formy jejich zápisu a krátce záměrně odbočím […]
  • Aritmetické operátory Tento článek by měl čtenáři nastínit používání základních aritmetických operátorů v jazyce C++. Je dobré upozornit, že C++ disponuje širší sadou operátorů, než se třeba pojednává ve […]
  • Relační operátory Tento článek pojednává o porovnávacích, jinak nazývané také relačních,  operátorech v jazyce C++. Souhrnně se o nich zmíníme, ukážeme si opět rozdíl jejich zápisu od klasické matematiky a […]
  • Číselné datové typy V této kapitole se objasníme pojem, co je to datový typ. Dále si ukážeme základní číselné datové typy, se kterými jazyk C++ operuje a předvedeme si různé varianty zápisu čísel, hlavně […]
  • Proměnné V minulém článku jsme si řekli, že data programu jsou uchována v různých souvislých úsecích paměti. Abychom mohli v programu používat hodnotu uloženou v nějakém takovém úseku paměti, […]
  • Datový typ “string” V tomto článku si představíme skupinu datových typů knihovny STL pro práci s texty. Seznámíme se s jejich inicializací, stejně tak si popíšeme další základní metody pro práci s touto […]