2. díl - Visual Studio a první konzolová aplikace v C++

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

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 388x (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?
16 hlasů
Autor se věnuje spoustě zajímavých věcí :)
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 (15)

 

 

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

Avatar
Cement
Člen
Avatar
Cement:1. května 11:20

Díky za odpověď,
jak mám tedy udělat, aby si na Win7 mohl mnou vytvořený program spustit, aniž by si musel instalovat VS?
Mám mu poslat všechny adresáře co vytvořilo VS, tak jako to tu máš ke stažení?

Odpovědět 1. května 11:20
Když selžou všechny pokusy, použijte návod.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Cement
Zdeněk Pavlátka:1. května 12:38

Microsoft Visual C++ 20XX != Visual Studio
Microsoft Visual C++ 20XX jsou knihovny používané různými programy a hrami... Co jsem četl tak zrovna MSVCP140.dll vyžaduje např. Skype...
Poslat mu máš spustitelný soubor (ze složky Release, ne Debug - k Debug je VS potřeba). Zbytek je jeho starost (v tomto případě nejspíš potřebuje doinstalovat Visual C++ 2017)

Odpovědět 1. května 12:38
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Cement
Člen
Avatar
Odpovídá na Zdeněk Pavlátka
Cement:1. května 14:30

Vyřešeno!
Exe soubor z Release už jede i na jiném stroji.
Díky.

Odpovědět 1. května 14:30
Když selžou všechny pokusy, použijte návod.
Avatar
Marek Judiak
Člen
Avatar
Marek Judiak:2. května 15:57

Potreboval by som pomôcť, nechce mi spustiť aplikáciu, neviem si stým poradiť, za každú pomoc budem veľmi rád.

 
Odpovědět 2. května 15:57
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Marek Judiak
Zdeněk Pavlátka:3. května 11:21

Co takhle trochu více informací... Takhle jsi neřekl vůbec nic.

Odpovědět 3. května 11:21
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Adam Danek
Člen
Avatar
Adam Danek:15. června 20:43

Jestli ti to hází "This project is out of date" tak to potvrď a normálně se ti to spustí.

 
Odpovědět 15. června 20:43
Avatar
Jaroslav Dubánek:5. srpna 19:17

Po kompilaci mi to vyhodilo chybu, stejnou jako tomu cápkovi tajhlenc

Stačilo znovu spustit instalačku a přidat "Windows 10 SDK (10.0.15063.0) for Desktop C++ x86 and x64"

Odpovědět 5. srpna 19:17
Člověka určuje to, co ho fascinuje a co je jeho vášní. Mě fascinují věci, které mě přesahují. Vzrušení z nepoznaného ...
Avatar
sonnyy
Redaktor
Avatar
sonnyy:20. září 15:55

Prečo je lepšie použiť namiesto system("PAUSE") cin.get(); ?

Editováno 20. září 15:56
Odpovědět 20. září 15:55
The World is yours
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na sonnyy
David Čápka:20. září 15:57

Protože pause je příkaz systému, který se může lišit. Třeba na Linuxu ti tohle nepojede. get je příkaz C++, který funguje všude.

Odpovědět  +1 20. září 15:57
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
sonnyy
Redaktor
Avatar
Odpovídá na David Čápka
sonnyy:20. září 15:57

Vďaka za objasnenie :-)

Odpovědět 20. září 15:57
The World is yours
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 73. Zobrazit vše