PHP týden PHP týden
Pouze tento týden až 80% sleva na PHP, Nette, Symfony!
Aprílový black friday tě nenechá v klidu! Až 80 % prémiového obsahu zdarma. Více informací

Lekce 2 - Visual Studio a první konzolová aplikace v C++

C a C++ C++ Základní konstrukce C++ Visual Studio a první konzolová aplikace v C++ American English version English version

ONEbit hosting Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

V minulé lekci, Úvod do jazyka C++, jsme si řekli něco o jazyce jako takovém. V dnešním C++ tutoriálu se zaměříme hlavně na IDE Visual Studio, ukážeme si, jak se používá, a naprogramujeme si jednoduchou konzolovou aplikaci.

IDE je zkratka Integrated Development Environment (integrované vývojové prostředí) a jednoduše řečeno se jedná o aplikaci, ve které píšeme zdrojový kód a pomocí které potom naši aplikaci testujeme a ladíme.

Začít musíme samozřejmě tím, že si Visual Studio nainstalujeme, budeme používat verzi 2015 community, která je pro jednotlivce zcela zdarma a to dokonce i pro komerční účely. Zde máte link ke stažení Visual Studio Community.

Instalace

Pokud máte alespoň elementární znalosti angličtiny, doporučuji VS nainstalovat v tomto jazyce, až budete pokročilí programátoři, ušetří vám to spoustu nepříjemností. Ideálně by se měl psát anglicky i kód, ale pro názornost budu v celém seriálu a i v některých ukázkových programech používat české identifikátory. Výhodou anglického programu je samozřejmě to, že jako pokročilí můžete diskutovat složité problémy na mezinárodních fórech, kde se vyskytují experti na danou oblast. U pokročilých aplikací je třeba ve VS nastavit mnoho specifických věcí. Manuály v češtině nemusíte najít a pak jen přemýšlíte, jaký je asi překlad tohoto checkboxu. Ve většině programovacích jazycích není například povolena česká diakritika (C++ není výjimkou), a tak se program při použití diakritiky (například pro jméno proměnné) nezkompiluje. Angličtina je v programování standardem. Čeština samozřejmě teď pro začátek není žádný problém, myslím to spíše do budoucna.

Instalace samotná je dosti jednoduchá. Po jejím spuštění si zvolíte typ Custom:

Následně označíte skupinu Visual C++ (a vše co obsahuje) a stejně tak i skupinu Common Tools.

Můžete si toho nainstalovat více, ale pro tento kurz to nebudete potřebovat a vše lze doinstalovat dodatečně.

Pozn. Buďte opatrní s vybíráním většího množství věcí, instalace pak trvá dosti dlouho - mně osobně plná instalace trvala několik hodin.

Poté klikneme na Next a následně na Install. A čekáme... :)

Visual Studio je třeba zaregistrovat, registrace je zdarma a obdržíte poté sériové číslo, které vám umožňuje program zdarma a legálně používat. Druhou možností je přihlásit se do Visual Studia pomocí Microsoft účtu.

Pozn. Visual Studio je určeno pro vývoj Windows aplikací. Pokud chcete tvořit aplikace pro jiné systémy (nebo na jiných systémech), můžete použít např. NetBeans IDE, které můžete stáhnout z oficiálních stránek nebo můžete použít Eclipse.

Zálohování a verzování

Kromě IDE programátor potřebuje nějaký nástroj, který bude zálohovat a verzovat jeho práci. Nemůžeme se spolehnout na to, že program prostě budeme ukládat, protože jsme lidé a ne stroje. Lidé dělají chyby a když přijdete o několikadenní nebo dokonce několikatýdenní práci, může to zabolet. Je dobré naučit se na toto myslet hned od začátku. Velmi doporučuji program DropBox, který je extrémně jednoduchý a sám vaše soubory verzuje (tedy zachovává změny v čase a je možné se vrátit ke starším verzím projektu) a zároveň synchronizuje s webovým úložištěm. I kdyby jste si projekt omylem smazali, přepsali, ukradli vám notebook nebo vám zkolaboval pevný disk, vaše data zůstanou v bezpečí. DropBox také umožňuje sdílet jeden projekt mezi více vývojáři. Více o DropBoxu viz tento článek, který obsahuje zároveň pozvánku do DropBoxu s 0,5 GB prostoru navíc.

Jako další verzovací nástroj se hojně používá GIT, který je ve Visual Studiu dokonce vestavěn při zaškrknutí Git for Windows. Základní princip ovládání GITu můžete najít zde na ITnetwork. Jeho ovládání je spíše pro pokročilé vývojáře a v kurzu jej nevyužijeme. Při větších projektech nebo při spolupráci více lidí na jednom projektu je to ale důležitý nástroj.

Vytvoření projektu

Spustíme Visual Studio a v aplikačním menu zvolíme položku File -> New -> Project.

Založení nového C++ projektu ve Visual Studio

V levém panelu zvolíme Visual C++ a uprostřed pak vybereme template Win32 Console Application.

Jako jméno aplikace zvolíme PrvniAplikace. V Dropboxu (pokud ho chcete používat) si vytvořte nějakou složku na vaše projekty, např. Cpp. U lokace pomocí tlačítka Browse vybereme složku C:\Users\vase_jme­no\Dropbox\Cpp. Nějakou dobu zůstaneme u konzolových aplikací (příkazová řádka), protože k jejich obsluze potřebujeme minimální znalosti z objektového světa a jsou tedy ideální k naučení základů jazyka.

Formulář potvrdíme. Ukáže se nám další formulář - Win32 Application Wizard. Zvolíme Next a vybereme Console application a hlavně Empty project.

Nastavení projektu C++ ve Visual Studio

Dokončíme tlačítkem Finish.

Ovládání Visual Studia

Okno nyní vypadá asi takto, já jsem jej hodně zmenšil, aby se mi sem vešlo :)

Okno visual studia

Druhým důležitým prvkem v okně pro nás bude zelené tlačítko Play v horní liště, které program zkompiluje a spustí. Spuštění můžeme provést též klávesovou zkratkou F5. Klávesové zkratky má VS velmi dobře řešené - když je budete znát, práce vám půjde rychleji od ruky. Vedle ikony šipky máme vybráno Debug. To znamená, že se program bude kompilovat v Debug módu a bude obsahovat určité rutiny k výpisu chyb. Tento mód se používá zejména pro testování programu (když ho vyvíjíme) a běh programu může být kvůli tomu o něco pomalejší. Jakmile si budeme jisti, že je program hotový, přepneme na Release a spustíme. Výsledkem bude vytvoření a spuštění programu tak, jak je ho možné šířit mezi lidi.

Uprostřed nic nemáme, tak tam něco pojďme rychle přidat :) Bude zde okno s naším kódem. Abychom ho přidali, klikneme v okně se složkami pravým tlačítkem myši na Source files a zvolíme Add -> New Item.

Nový zdrojový kód v C++

Vybereme C++ File (.cpp) a pojmenujeme ho Source.

Adresářová struktura konzolové aplikace

Podíváme se, jak vypadá naše aplikace na disku. Otevřeme si složku s aplikací, tedy C:\Users\vase_jme­no\Dropbox\Cpp\Prvn­iAplikace. Nalezneme v ní soubor PrvniAplikace.sln, který zastupuje tzv. solution Visual Studia. Solution (řešení) je soubor projektů a může tedy obsahovat více aplikací, v praxi se toho využívá např. ve vícevrstvých aplikacích nebo při testování. Pro nás je zajímavé jen to, že právě přes tento soubor budeme naše aplikace otevírat. Nalézá se zde také složka PrvniAplikace, ve které již sídlí všechny soubory k našemu projektu. Otevřeme si ji.

Soubor PrvniAplikace­.vcxproj obsahuje soubor našeho projektu, i přes něj lze naši aplikaci otevřít. Source.cpp bude obsahovat samotný zdrojový kód. Zajímat nás budou složky Debug a Release. V nich jsou poté samotné exe soubory naší aplikace (pokud jsme ji samozřejmě alespoň jednou spustili v této konfiguraci). Pokud se budete chtít se svými aplikacemi někomu pochlubit, exe soubor ve složce Release je právě to, co mu pošlete. Dalších souborů si nemusíte všímat.

Hello world

Je zarytým zvykem, že prvním programem v nějakém novém jazyce bývá tzv. Hello world. Jedná se o program, který jakýmkoli způsobem uživateli zobrazí hlášku "Hello world", případně nějaký podobný text.

Kód vypadá takto:

#include <iostream>
using namespace std;

int main(void)
{
    cout << "Hello world!" << endl;
    cin.get();
    return 0;
}

Teď si kód podrobně vysvětlíme:

  • #include <iostream> nám k projektu přidá knihovnu pro výstup (a vstup) na konzoli.
  • using namespace std nám zjednoduší názvy příkazů z knihovny iostream. Bez tohoto řádku bychom museli řádek s výpisem napsat jako std::cout << "Hello world!" << std::endl;.
  • int main(void) {} - Main() je tzv. funkce, zde ta hlavní. O funkcích si něco povíme později. Do složených závorek za ní budeme zatím psát všechen kód. Funkce main() se spustí při spuštění aplikace.
  • cout << "Hello world!" << endl; je samotný výpis textu. Text píšeme do uvozovek (""), aby C++ poznalo, že se nejedná o nějaký příkaz. << endl nám ještě odřádkuje na nový řádek.
  • << je operátor, který v tomto případě (za cout) "odesílá" data k vypsání do konzole
  • cin.get() čeká na stisk klávesy Enter, takže se nám program hned nevypne.
  • return 0 - Příkazem return ukončíme program a nulou řekneme systému, že program skončil v pořádku. (Pokud dojde v programu k chybě, použije se místo nuly jednička).

Program spustíme pomocí klávesy F5.

Konzolová aplikace
Hello world!

Gratuluji, právě jste se stali programátorem :)

Zmiňme si ještě, že pokud chcete vypisovat do Windows konzole české znaky, na začátek kódu umístíte ještě:

locale loc("Czech_Czech Republic.1250");
locale::global(loc);

To bude pro dnešek vše. V příští lekci, Proměnné a typový systém v C++, se podíváme na základní datové typy a vytvoříme si jednoduchou kalkulačku.

Dnešní projekt je přiložen jako soubor na konci článku, i u dalších lekcí budu vždy výsledek přikládat ke stažení. Doporučuji si ale nejprve projekt vytvořit pomocí tutoriálu a ke stažení se uchýlit jen v případě, když vám něco nepůjde. Pokud program hned jen stáhnete, nic se nenaučíte :)


 

Stáhnout

Staženo 494x (3.39 MB)
Aplikace je včetně zdrojových kódů v jazyce C++

 

 

Článek pro vás napsal Zdeněk Pavlátka
Avatar
Jak se ti líbí článek?
25 hlasů
Autor se věnuje spoustě zajímavých věcí ze světa informatiky a grafiky :)
Miniatura
Předchozí článek
Úvod do jazyka C++
Miniatura
Všechny články v sekci
Základní konstrukce jazyka C++
Miniatura
Následující článek
Proměnné a typový systém v C++
Aktivity (20)

 

 

Komentáře
Zobrazit starší komentáře (78)

Avatar
Jiri Silhavy
Člen
Avatar
Jiri Silhavy:21.11.2018 17:39

Toto mi ukazuje chybu:
...main(void)
locale loc("Czech_Czech Republic.1250");
locale::global(loc);
{...

Editováno 21.11.2018 17:40
 
Odpovědět 21.11.2018 17:39
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na Jiri Silhavy
patrik.valkovic:21.11.2018 18:30

Myslím že na začátku programu musíš mít #include<windows.h>.

Odpovědět 21.11.2018 18:30
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Jiri Silhavy
Zdeněk Pavlátka:21.11.2018 21:56

Zřejmě na začátku souboru chybí

#include <locale>
Odpovědět  +1 21.11.2018 21:56
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Jiri Silhavy
Člen
Avatar
Jiri Silhavy:27.11.2018 17:40

Bohužel, Visual Studio mi nešlo nainstalovat, tak používám Dev-C++.

 
Odpovědět 27.11.2018 17:40
Avatar
Garrom Orc Shaman:21.12.2018 15:55

Používat VS je sice hezké a nejspíše přináří řadu benefitů ale co mají dělat linuxáci co chtějí stavět aplikace pro linux nebo pomoct s vývojem GoDot enginu. M$ nám VS nejspíše nedá, co si májí linuxáci jako já pořídit aby zůstali na stejné vlně jako tato série ?

Odpovědět 21.12.2018 15:55
Life for Code, Code for Life. I chose my path, I should stick on it.
Avatar
Vít Vlach
Člen
Avatar
Odpovídá na Garrom Orc Shaman
Vít Vlach:21.12.2018 16:48

programy v C++ můžeš vyvíjet i v jiném IDE, například v Netbeans. Jenom nevím, jestli musíš ještě něco stahovat.

Odpovědět  +1 21.12.2018 16:48
My code doesn't work. Let's change nothing and run it again.
Avatar
Robert Michalovič:27.12.2018 18:40

K tomu abyste mohly vyvíjet v C++, primárně potřebujete pouze kompilátor a linker(např. MinGW, Cygwin - jak naistalovat a udělat "Hallo world" je zde na itnetwork k dispozici)

Zdrojový kód můžete psát v i notepadu, či Wordu a pak kompilaci/linkováni provádět manuálně. Nebo lze využít NetBeans nebo Eclipse.

viz. https://www.itnetwork.cz/…clipse-mingw
viz. https://www.itnetwork.cz/…-kompilatoru

 
Odpovědět 27.12.2018 18:40
Avatar
Alex
Člen
Avatar
Alex:Včera 20:02

Ahoj. Začínám s C++. Postupuju podle tohoto kurzu. Kód napíšu stejně jako je v tomto článku. Ale teď se dostávám ke spuštění testu, zda-li mi program funguje. Takže hezky do složky kde by měl být program uložený, ale tam není žádná složka debug nebo releas. Nevíte někdo co s tím? Díky za odpověď

 
Odpovědět Včera 20:02
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na Alex
patrik.valkovic:Včera 20:25

Ahoj, než dostaneš spustitelný soubor, musíš program zkompilovat. Ve Visual Studiu můžeš kliknout pravým tlačítkem myši na projekt a dát "Sestavit" nebo "Build", záleží na jazyku. Alternativně bys měl vidět nahoře v liště zelený trojúhelníček, tím se program automaticky zkompiluje a spustí.

Odpovědět Včera 20:25
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Alex
Člen
Avatar
Odpovídá na patrik.valkovic
Alex:Včera 20:45

No, to jsem zkusil taky. Bohužel mi to napsalo, že soubor .exe neexistuje.

 
Odpovědět Včera 20:45
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 88. Zobrazit vše