načítání...
nákupní košík
Košík

je prázdný
a
b

C# - Pavel Bory

Elektronická kniha: C#
Autor:

Chcete začít s programováním v C#? Nenašli jste zatím publikaci, která by vše vysvětlila jednoduše od úplných základů? C# bez předchozích znalostí nevyžaduje žádné ...


Titul je skladem - ke stažení ihned
Vaše cena s DPH:  140
Médium: e-kniha
+
-
ks
Doporučená cena:  149 Kč
6%
naše sleva
4,7
bo za nákup

ukázka z knihy ukázka

Titul je dostupný ve formě:
elektronická forma tištěná forma

hodnoceni - 62.1%hodnoceni - 62.1%hodnoceni - 62.1%hodnoceni - 62.1%hodnoceni - 62.1% 70%   celkové hodnocení
1 hodnocení + 0 recenzí

Specifikace
Nakladatelství: » Computer press
Dostupné formáty
ke stažení:
PDF
Počet stran: 255
Rozměr: 23 cm
Úprava: tran : ilustrace
Vydání: 1. vydání
Jazyk: česky
Médium: e-book
ADOBE DRM: bez
ISBN: 978-80-251-4686-6
Ukázka: » zobrazit ukázku
Popis

Chcete začít s programováním v C#? Nenašli jste zatím publikaci, která by vše vysvětlila jednoduše od úplných základů? C# bez předchozích znalostí nevyžaduje žádné dřívější zkušenosti s programováním.

Jednoduchou formou na příkladech se postupně seznámíte se základy programovacího jazyka C#, na nichž budete následně stavět u pokročilejších témat a vlastních projektů. Naučíte se pracovat s datovými typy, proměnnými, řídit tok programu a pracovat se soubory, nahlédnete i do základů objektově orientovaného programování. Na konci každé kapitoly si můžete nově nabyté znalosti zopakovat pomocí otázek a cvičení.

Publikace vás mimo jiné seznámí s tématy:
- Základy práce v Microsoft Visual Studiu
- Proměnné a datové typy
- Operátory a výrazy
- Větvení programu, cykly a pole
- Metody, třídy a objekty
- Dědičnost a zpracování výjimek
- Práce se soubory

Čtenáři si mohou na adrese http://knihy.cpress.cz/K2202 pod odkazem Soubory ke stažení stáhnout soubory se zdrojovými kódy použitými v knize.
O autorovi:

Pavel Bory je seniorním vývojářem a řadu let pracuje zejména na projektech společnosti Unicorn, a.s., především v oblasti financí. Kromě samotného vývoje softwaru se věnuje školení a výuce programování převážně na platformě .NET na vysoké škole Unicorn College, s.r.o.

Předmětná hesla
Zařazeno v kategoriích
Pavel Bory - další tituly autora:
C# C#
Bory, Pavel
Cena: 254 Kč
 
Recenze a komentáře k titulu
Zatím žádné recenze.


Ukázka / obsah
Přepis ukázky






C# bez předchozích
znalostí
Vyšlo také v tištěné verzi
Objednat můžete na
www.cpress.cz
www.albatrosmedia.cz
Pavel Bory
C# bez předchozích znalostí – e-kniha
Copyright © Albatros Media a. s., 2016
Všechna práva vyhrazena.
Žádná část této publikace nesmí být rozšiřována
bez písemného souhlasu majitelů práv.





Obsah
O autorovi 7
Poděkování 8
Úvod 9
Komu je tato kniha určena 9
Zpětná vazba od čtenářů 9
Zdrojové kódy ke knize 10
Errata 10
KAPITOLA 1
První program 11
Instalace potřebného softwaru 11
Náš první program v jazyce C# 11
Co je to vlastně program a programovací jazyk? 16
Základy práce s Microsoft Visual Studiem 17
Kontrolní otázky 22
Cvičení 23
KAPITOLA 2
Datové typy a proměnné 25
Otevření existujícího projektu 25
Základní struktura programu 29
Komentáře zdrojového kódu 30
Proměnné 30
Datové typy 31
Konstanty 32
Základní operace s čísly 33
Výpis na příkazový řádek 34
Načtení vstupu od uživatele 39
Konverze řetězce na číslo 39
Konverze čísla na řetězec 41





Intelisense ve Visual Studiu 42
Kontrolní otázky 44
Řešená cvičení 45
Cvičení 46
KAPITOLA 3
Řízení toku programu 47
Logický datový typ a logický výraz 47
Logické operátory 49
Příkaz if 51
Příkaz else a vnořování podmínek 53
Příkaz else if 55
Příkaz switch 57
Kontrolní otázky 59
Řešená cvičení 59
Cvičení 61
KAPITOLA 4
Cykly a pole 63
Cyklus while 63
Cyklus do-while 66
Cyklus for 67
Pole 68
Kontrolní otázky 72
Řešená cvičení 73
Cvičení 74
KAPITOLA 5
Pokročilejší práce s cykly a ladění programů 75
Cyklus foreach 75
Vnořování cyklů 77
Příkaz break v kontextu cyklů 79
Ladění programů – debugger 81
Kontrolní otázky 85





Řešená cvičení 86
Cvičení 89
KAPITOLA 6
Metody 91
Metody bez parametrů 91
Platnost proměnných v rámci metod 94
Metody s parametry 96
Často používané metody pro práci s čísly a řetězci 98
Datum a čas 102
Kontrolní otázky 105
Řešená cvičení 106
Cvičení 110
KAPITOLA 7
Základy objektově orientovaného programování 111
Třídy a objekty 112
Public a private 117
Gettery a settery 120
Rozdělení programu do více souborů a jmenné prostory 122
Hodnotové a referenční typy 125
Klíčové slovo null 125
Datový typ List 126
Kontrolní otázky 129
Řešená cvičení 129
Cvičení 139
KAPITOLA 8
Základy objektově orientovaného programování II 141
Dědičnost 141
Modifikátor přístupu protected 145
Výjimky 147
Statické proměnné a vlastnosti 153
Statické metody 155





Datový typ Dictionary 156
Kontrolní otázky 158
Řešená cvičení 158
Cvičení 170
KAPITOLA 9
Soubory 171
Čtení ze souboru 172
Zápis do souboru 178
Kontrolní otázky 183
Řešená cvičení 183
Cvičení 188
KAPITOLA 10
Komplexní příklady 189
Aplikace – Správa školení 189
Cvičení 226
Aplikace – Zpracování výkazů 227
Cvičení 243
Závěr 244
Odpovědi na otázky k jednotlivým kapitolám 245
Kapitola 1 - První program 245
Kapitola 2 – Datové typy a proměnné 245
Kapitola 3 – Řízení toku programu 246
Kapitola 4 – Cykly a pole 247
Kapitola 5 – Pokročilejší práce s cykly a ladění programů 247
Kapitola 6 – Metody 248
Kapitola 7 – Základy objektově orientovaného programování 249
Kapitola 8 – Základy objektově orientovaného programování II 249
Kapitola 9 – Soubory 250
Rejstřík 251





7
O autorovi
Pavel Bory je seniorním vývojářem a řadu let pracuje hlavně na projektech společnosti Uni -
corn, a.s., především v oblasti financí. Kromě samotného vývoje softwaru se věnuje školení
a výuce programování, zejména nad platformou .NET na vysoké škole Unicorn College, s.r.o.
Tato kniha je jeho první monografií.





8

Poděkování
Rád bych poděkoval všem blízkým, bez jejichž podpory by tato kniha nevznikla. Dále bych
rád poděkoval všem spolupracovníkům, od kterých jsem měl možnost se učit, a v neposlední
řadě chci poděkovat svým učitelům, z nichž jsou mi někteří dodnes vzorem. Musím poděkovat
i redaktorovi nakladatelství Computer Press panu Martinovi Herodkovi za jeho profesionální
přístup a podporu během psaní této knihy.





9
Úvod
S pomocí této knihy se můžete sami naučit základům programovacího jazyka C# a objektově
orientovaného programování. Kniha je koncipována tak, že je probíraná látka hojně ilustro -
vána na příkladech, ke kterým jsou uvedeny jejich zdrojové kódy a výstupy programů.
Zdrojové kódy jsou pro lepší srozumitelnost doprovázeny komentáři a  u  složitějších příkladů je
zdrojový kód tvořen postupně a průběžně je jeho tvorba rozebírána. Na závěr každé kapitoly
je uvedena sada kontrolních otázek pro ověření získaných znalostí a zároveň jsou zde uvedeny
řešené příklady. Kromě kontrolních otázek a řešených příkladů jsou na závěr každé kapitoly
uvedeny příklady k samostatnému procvičení.
Komu je tato kniha určena
Tato kniha nepředpokládá žádné znalosti programování. Je tedy určena každému, kdo má
zájem se naučit základy programování v moderním objektově orientovaném jazyce C#. Kniha
může posloužit jak čtenáři, který chce získat pouze základní přehled o  programování, tak
i čtenáři, který se chce programování věnovat dlouhodobě a hledá vhodný výchozí bod pro
začátek studia.
Zpětná vazba od čtenářů
Nakladatelství a vydavatelství Computer Press, které pro vás tuto knihu připravilo, stojí
o zpětnou vazbu a bude na vaše podněty a dotazy reagovat. Můžete se obrátit na následující adresy:
Computer Press
Albatros Media a.s., pobočka Brno
IBC
Příkop 4
602 00 Brno
nebo
sefredaktor.pc@albatrosmedia.cz
Computer Press neposkytuje rady ani jakýkoli servis pro aplikace třetích stran. Pokud
budete mít dotaz k programu, obraťte se prosím na jeho tvůrce.





10
Zdrojové kódy ke knize
Zdrojové kódy ke knize
Z adresy http://knihy.cpress.cz/K2202 si po klepnutí na odkaz Soubory ke stažení můžete přímo
stáhnout archiv s ukázkovými kódy.
Errata
Přestože jsme udělali maximum pro to, abychom zajistili přesnost a správnost obsahu, chybám
se úplně vyhnout nelze. Pokud v  některé z  našich knih nějakou najdete, ať už v  textu nebo
v kódu, budeme rádi, pokud nám ji oznámíte.
Veškerá existující errata zobrazíte na adrese http://knihy.cpress.cz/K2202 po klepnutí na odkaz
Soubory ke stažení. (Nejsou-li žádná errata zatím k dispozici, není odkaz Soubory ke stažení
dostupný.)





11
KAPITOLA 1
První program
V této kapitole se dozvíte, jaký software budeme v rámci studia programování pomocí této
knihy používat, jak jej získat, nainstalovat a jak s ním pracovat. Dozvíte se, co je to program,
programovací jazyk a vytvoříte si svůj první program v jazyce C#.
Instalace potřebného softwaru
Než začnete se studiem programování pomocí této knihy, je nezbytné si nainstalovat vývojové
prostředí Microsoft Visual Studio, pomocí kterého budeme naše programy vytvářet. V této knize
budeme používat verzi Microsoft Visual Studio 2015 Community Edition, která je k dispozici
zdarma ke stažení zde: https://www.visualstudio.com/products/visual-studio-community-vs.
Vývojové prostředí nainstalujte podle pokynů uvedených na webových stránkách a v instalač -
ním průvodci vývojového prostředí Microsoft Visual Studio.
Náš první program v jazyce C#
Pokud máte nainstalované vývojové prostředí Microsoft Visual Studio, se můžete pustit
do  vytvoření svého prvního programu v  jazyce C#. Spusťte vývojové prostředí Microsoft
Visual Studio. Zobrazí se vám úvodní obrazovka, na které vyberte z hlavního menu možnost
File  New  Project.
V této kapitole :
„ Instalace potřebného
softwaru
„ Náš první program v jazyce
C#
„ Co je to vlastně program
a programovací jazyk?
„ Základy práce s Microsoft
Visual Studiem
„ Kontrolní otázky
„ Cvičení





12
Kapitola 1 První program
Obrázek 1.1 Vytvoření nového projektu
Zobrazí se poměrně pestrá nabídka, protože Microsoft Visual Studio umožňuje vytvářet
celou řadu různých typů programů. Vyberte projekt typu Visual C#  Windows  Classic
Desktop  Console Application. Do pole Name vyplňte název projektu PrvniProgram. V poli
Location vyberte umístění, kde na disku bude uložen vytvořený projekt.
Obrázek 1.2 Volba typu projektu, jeho pojmenování a výběr umístění





Náš první program v jazyce C#
13
Jakmile budete mít vyplněno, stiskněte tlačítko OK a Microsoft Visual Studio vytvoří nový projekt.
Obrázek 1.3 Výchozí stav po vytvoření nového projektu
Možná jste očekávali, že bude projekt zcela prázdný, a  on přitom obsahuje pro nás zatím
neznámý zdrojový kód a několik souborů. To je dáno tím, že na základě vybraného typu pro -
jektu dojde k zjednodušeně řečeno vygenerování určitého výchozího stavu, který je pro daný
typ programu typický. Zatím do onoho výchozího stavu projektu nezasahujme, ale nebojte se,
postupně se při čtení této knihy s významem jednotlivých příkazů seznámíte.
Než se pustíme do  vytvoření prvního programu, pojďme si vysvětlit dva pojmy: Project
a Solution.
Project obsahuje zdrojové kódy programu, které jsou umístěny v jednom či více souborech.
Solution může obsahovat jeden či více projektů.
My jsme tedy vytvořili jednu Solution, která obsahuje právě jeden Project, ve kterém napíšete
svůj první program v jazyce C#. V rámci ukázkových příkladů k této knize se můžete setkat
s tím, že pro jednu kapitolu existuje jedna Solution, která obsahuje více projektů, přičemž
jednotlivé projekty obsahují jednotlivé ukázkové programy. Pojďte vytvořit svůj první program
v jazyce C#! Doplňte následující dva řádky do souboru Program.cs,
Console.WriteLine(„Muj prvni program v C#“);
Console.ReadKey();
tak aby přesně odpovídal následujícímu zápisu:





14
Kapitola 1 První program
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PrvniProgram
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(„Muj prvni program v C#“);
Console.ReadKey();
}
}
}
Nyní program spusťte pomocí možnosti Start Debugging, která se nachází v menu Debug.
Obrázek 1.4 Spuštění programu
Zobrazí se vám příkazový řádek, ve  kterém program vypíše zadaný text, který jste vložili
do souboru Program.cs.





Náš první program v jazyce C#
15
Obrázek 1.5 Příkazový řádek s výstupem vašeho prvního programu
Je možné, že se vám bude velikost písmen v příkazovém řádku zdát příliš malá. Proto si nyní
ukažme jak ji zvětšit. Klikněte pravým tlačítkem do vrchní části rámu příkazového řádku.
Obrázek 1.6 Spuštění nastavení příkazového řádku





16
Kapitola 1 První program
Z  kontextové nabídky vyberte možnost Properties. Zobrazí se vám následující obrazovka
s nastavením příkazového řádku.
Obrázek 1.7 Nastavení fontu příkazového řádku
Zde můžete změnit velikost písma v  příkazovém řádku. Pokud chcete, prozkoumejte i  jiné
možnosti nastavení příkazového řádku a přizpůsobte si jeho zobrazení tak, aby se vám s ním
dobře pracovalo.
poznámka: Program můžeme spouštět jak pomocí Debug  Start Debugging, tak i pomocí
stisknutí klávesy F5.
Co je to vlastně program a programovací
jazyk?
Abychom si mohli vysvětlit, co je to vlastně program, je potřeba si nejprve definovat pojem
algoritmus. Pro tento pojem neexistuje jednoznačná, dokonalá a všemi uznávaná definice. My
si algoritmus definujme jako určitý návod, postup jak řešit určitý problém. Tento postup musí
být zejména jednoznačný a nesmí umožňovat více výkladů. Příkladem neprogramátorského
algoritmu může být recept v kuchařce. Ten přesně definuje postup přípravy pokrmu a měl by
být jednoznačný a neumožňovat více způsobů výkladu.





Základy práce s Microsoft Visual Studiem
17
Když jsme si přiblížili pojem algoritmus, můžeme si počítačový program popsat jako zápis
algoritmu ve zvoleném jazyce, který je srozumitelný počítači. Tyto jazyky se nazývají progra -
movací jazyky a  slouží právě k  dorozumění mezi člověkem (programátorem) a  počítačem.
A vy se pro dorozumění s počítačem naučíte právě programovací jazyk C#.
Ve spojitosti s programovacím jazykem C# se často setkáte s pojmem .NET Framework. .NET
Framework je softwarová platforma poskytující širokou škálu prostředků pro programy. Její
popis by zcela jistě vydal na  celou řadu knih a  není cílem této knihy ji detailně popisovat.
Prostředky z této platformy budeme při programování v jazyce C# používat, a dokonce jste
je již použili, pokud jste si vytvořili předchozí program. Použili jsme její prostředky např. pro
výpis na konzoli. Kromě programovacího jazyka C# se tedy seznámíte i s řadou základních
prostředků platformy .NET.
Řekli jsme si, že programovací jazyk je jazyk srozumitelný počítači. K tomuto je potřeba ještě
vysvětlit, že než program spustíte, je potřeba spustit tzv. Build. Ten zajistí ověření, že program
neobsahuje formální chyby, a  vytvoří spustitelný soubor. Možná si teď říkáte, že když jsme
spouštěli náš první program, Build jsme neprováděli. Tím, že jsme zvolili možnost Start
Debugging, se provedly v podstatě dva kroky zároveň, a to Build a následné spuštění programu.
Ve skutečnosti je tato problematika podstatně komplikovanější, ale cílem této knihy není
zabíhat do přílišných detailů. Naším cílem je, abyste se naučili základy programování a byli schopni
na těchto zejména praktických základech stavět.
Základy práce s Microsoft Visual Studiem
V této kapitole se seznámíte se základy ovládání Microsoft Visual Studia, abyste mohli
pohodlně pracovat s touto knihou, zkoušet si ukázkové programy, a zejména tvořit programy vlastní.
Většina prvků Microsoft Visual Studia, které budeme používat, je reprezentována okny, která
lze zavírat, přesouvat a minimalizovat. Zkrátka s nimi lze pracovat, jako jste zvyklí pracovat
s okny v prostředí Microsoft Windows.
tip: Každý ovládací prvek (okno), který zde budeme popisovat, lze otevřít pomocí menu View.
Na tuto kapitolu budeme v průběhu studia v dalších kapitolách volně navazovat a znalosti práce
s Visual Studiem postupně dále rozšiřovat. První, co si ukážeme, je postup, jak se orientovat
v Solution, projektech a souborech těchto projektů. K tomuto slouží tzv. Solution Explorer.





18
Kapitola 1 První program
Obrázek 1.8 Solution Explorer
Toto okno vám ukáže, které projekty se v  Solution nachází, a můžete zde otevírat jednotlivé
soubory obsahující zdrojové kódy a ty editovat. Zkuste si v Solution Explorer otevřít soubor
Program.cs, do kterého jsme napsali náš první program.
V předchozí kapitole jsme hovořili o tzv. Build, který vytvoří spustitelný soubor programu.
Máme v  základu dvě možnosti jak Build spustit. První možnost je použít Build Solution
z menu Build.
Víme, že Solution může obsahovat více projektů. Z každého projektu obsaženého v Solution
se vytvoří jeden spustitelný soubor s příponou .exe a několik dalších souborů, které nejsou
nutně zapotřebí pro samotné spuštění programu, a nebudeme se jimi proto v této knize
zabývat. Pokud máte vytvořenu Solution obsahující jeden projekt z kapitoly Náš první program
v jazyce C# v umístění C: empPrvniProgram, naleznete spustitelný .exe soubor programu
zde: C: empPrvniPrograminDebugPrvniProgram.exe. Zkuste si tento soubor najít
a program spustit. Měla by se vám zobrazit konzole, na kterou se vypíše text stejně, jako když
jsme program spouštěli pomocí Debug  Start Debugging přímo z Microsoft Visual Studia.
Další možností je provést Build nad konkrétním projektem. Můžeme jej spustit buď z menu
Build pomocí příkazu Build PrvniProgram (nebo jiný název projektu), nebo z 
kontextového menu nad projektem v Solution Explorer. Klikněte pravým tlačítkem na název projektu
v Solution Explorer a vyberte možnost Build.





Základy práce s Microsoft Visual Studiem
19
Obrázek 1.10 Build Project
Obrázek 1.9 Build Solution





20
Kapitola 1 První program
Příkazem Build jsme vždy pouze vytvořili spustitelný soubor programu.
Při studiu a  samostatném vytváření programů budete nejčastěji potřebovat programy rov -
nou spouštět z vývojového prostředí. Za tímto účelem můžete použít volbu Debug  Start
Debugging, stejně jako když jsme spouštěli náš první program.
Někdy se může stát, že v programu uděláte chybu, která zamezí jeho spuštění. Např. se poku -
síte použít neexistující příkaz, zapomenete někde napsat závorku apod. V tomto případě se
spustitelný soubor programu nevytvoří, program se nespustí a Microsoft Visual Studio bude
hlásit chybu. Otevřeme si další okno v nabídky View  Output, ve kterém budeme zpravidla
sledovat, jak dopadl příkaz Build.
Obrázek 1.11 Ukázka výstupu po spuštění příkazu Build Project
V okně Output se po spuštění příkazu Build dozvíme, pro kolik projektů dopadl Build úspěšně
(succeeded), pro kolik neúspěšně (failed) a pro kolik se nespustil, protože již byl pro ně
spuštěn a nebyla v nich provedena žádná úprava (up-to-date). Zkusme se záměrně dopustit chyby
v  programu. Odstraňte např. středník za  příkazem Console.ReadKey(). Záměrně chybně
zapsaný program by mohl vypadat takto.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;





Základy práce s Microsoft Visual Studiem
21
namespace PrvniProgram
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(„Muj prvni program v C#“);
Console.ReadKey()
}
}
}
Spusťte příkaz Build pro projekt a podívejte se do okna Output, ve kterém se dozvíme, že byl
pro projekt neúspěšný.
Obrázek 1.12 Ukázka výstupu po spuštění příkazu Build Project, přičemž zdrojový kód obsahuje chybu
Pokud se v programu vyskytuje chyba bránící jeho spuštění, je pro nás podstatně zajímavější
okno Error List, které je opět možné spustit z nabídky View. V tomto okně se dozvíte o tom,
kde se v programu vyskytují chyby.





22
Kapitola 1 První program
Obrázek 1.13 Error List
Je zde uveden tabulkový výpis, kde každý řádek popisuje jednu chybu. Pro každou chybu vás
bude v  tomto výpisu především zajímat její popis, soubor, ve  kterém se vyskytuje, a  řádek,
na kterém se vyskytuje. Dvojklikem na řádek s chybou vás Visual Studio nasměruje na umístění
příslušné chyby. Je zapotřebí říci, že v některých případech nemusí být na první pohled zřejmé,
v čem chyba spočívá. Nicméně postupně v tomto ohledu získáte zkušenosti a odhalení příčin
chyb pro vás bude jednodušší. V rámci ukázek programů z této knihy máte vždy možnost si
otevřít přiložené ukázkové projekty, porovnat je s vlastním řešením, nalézt odlišnosti a odvo -
dit, v čem chyba spočívá. Při vašem studiu může být rovněž přínosné nalézt řešení obdobného
problému, který budete řešit, a inspirovat se z něj nebo poznat, v čem jste se dopustili chyby.
Kontrolní otázky
1. K čemu slouží vývojové prostředí Microsoft Visual Studio?
2. Co je to Project a Solution a jaký je mezi nimi vztah?
3. Co je to program a programovací jazyk?
4. Jakým příkazem vytvoříme spustitelný soubor z programu, aniž bychom jej rovnou
spustili? Kde tento soubor naleznete?
5. Jakým příkazem spustíme program přímo z Microsoft Visual Studia?





Cvičení
23
6. Pokud se program nepodaří kvůli chybám spustit, kde nalezneme informace o výskytu
chyb?
Cvičení
1. Vyzkoušejte si založení nové Solution a Project. Jakmile budete mít projekt vytvořen,
zkuste si doplnit kód v souboru Program.cs, aby pozdravil uživatele slovy „Ahoj clovece“
obdobně, jako jste učinili ve vašem prvním programu v jazyce C#.
2. Zkuste si záměrně zanést do  programu chybu, např. tím že odstraníte středník nebo
závorky apod. Následně zkuste program spustit a  pomocí Error List nalézt informace
o chybě a jejím umístění.










25
KAPITOLA 2
Datové typy
a proměnné
V této kapitole si rozšíříte své znalosti práce s vývojovým prostředím Microsoft Visual Studio.
Naučíte se, jak otevřít ukázkové příklady, které doprovázejí tuto knihu. Poté se naučíte, jak si
v programu uchovávat data, se kterými program může pracovat. Nemalé množství programů
potřebuje pro svou činnost komunikovat s jejich uživatelem, proto se dozvíte, jak může program
uživateli zobrazovat textové zprávy v příkazovém řádku, a zároveň se naučíte, jak do programu
předat data, která uživatel do příkazového řádku zapíše.
Otevření existujícího projektu
Nyní i v následujících kapitolách budeme při výkladu vycházet z ukázkových projektů. Proto
se naučíte, jak nějaký již existující projekt otevřít. Spusťte Visual Studio. Zobrazí se vám úvodní
obrazovka, na které vyberte z hlavního menu možnost File  Open  Project/Solution.
V této kapitole:
„ Otevření existujícího
projektu
„ Základní struktura
programu
„ Komentáře zdrojového
kódu
„ Proměnné
„ Datové typy
„ Konstanty
„ Základní operace s čísly
„ Výpis na příkazový řádek
„ Načtení vstupu od uživatele
„ Konverze řetězce na číslo
„ Konverze čísla na řetězec
„ Intelisense ve Visual Studiu
„ Kontrolní otázky
„ Řešená cvičení
„ Cvičení





26
Kapitola 2 Datové typy a proměnné
Obrázek 2.1 Otevření existujícího Project/Solution – krok 1
Zobrazí se vám standardní okno pro výběr souboru. Pomocí něj najděte složku, ve  které
máte zdrojové kódy k této knize, a otevřete složku Kapitola2. V této složce vyberte soubor
Kapitola2.sln a stiskněte tlačítko Open.
Obrázek 2.2 Otevření existujícího Project/Solution – krok 2





Otevření existujícího projektu
27
poznámka: Pro připomenutí si zopakujme, že Solution v sobě může obsahovat více projektů,
přičemž každý projekt obsahuje program, který může být umístěn v jednom či více souborech.
Nyní byste měli mít otevřenou Solution pro tuto kapitolu. My zatím pracujeme s  tím, že
program vytváříme v rámci souboru Program.cs. Všimněte si, že Solution opravdu
obsahuje více projektů, přičemž každý z nich představuje ukázku jedné či více oblastí probíraných
v této kapitole.
Musíte se naučit, jak ve vývojovém prostředí nastavíte, který projekt (program) se má spustit.
Klikněte pravým tlačítkem na projekt s názvem 3.VypisNaKonzoli a z kontextového menu
vyberte možnost Set as StartUp Project. Zkontrolujte, že se nyní název projektu oproti jiným
projektům zobrazuje tučným písmem.
Obrázek 2.3 Nastavení projektu (programu), který se má spustit při provedení příkazu Start Debugging
Nyní máte projekt nastaven jako výchozí projekt pro spuštění. Zkuste program v tomto pro -
jektu spustit stejně, jako jste spouštěli svůj první program v jazyce C#. To znamená: klikněte
na možnost Start Debugging, která se nachází v menu Debug.





28
Kapitola 2 Datové typy a proměnné
Obrázek 2.4 Spuštění nastaveného projektu
Měl by se vám zobrazit příkazový řádek, na který program vypíše text jako na následujícím
obrázku.
Obrázek 2.5 Ukázkový výstup spuštěného programu





Základní struktura programu
29
Nyní umíte pracovat se vzorovými programy, které budete využívat při čtení této knihy. Vět -
šina kapitol v sobě zahrnuje ukázkové programy a je vhodné, abyste si je při studiu
programování prostudovali. V jednotlivých kapitolách jsou zpravidla uvedeny pouze klíčové výseky ze
zdrojových kódů, a je proto žádoucí, abyste mimo samotnou knihu viděli kompletní zdrojové
kódy programů a zkoušeli si je upravovat. Poslouží vám jako inspirace pro řešení obdobných
problémů.
Základní struktura programu
Ve chvíli, kdy jsme vytvářeli náš první program, nebyl po založení projektu soubor Program.
cs prázdný. Obsahoval již předpřipravený zdrojový kód. Nebudeme si nyní vysvětlovat, co
jednotlivé příkazy znamenají, protože vysvětlení by v tuto chvíli bylo značně komplikované
a nemělo by pro vás zásadní přínos. Seznámíte se s nimi postupně v průběhu studia této knihy.
Upozornění: Výchozí kód v  souboru Program.cs neupravujte s  jedinou výjimkou: Na  začátku
programu se nachází několik příkazů začínajících slovem using. Ty můžete smazat až na příkaz
using System;. Pokud ostatní příkazy using nesmažete, pak se také nic neděje. Zatím pro nás
nemají žádný význam. Zdrojový kód programů, které budete tvořit, pište mezi složené závorky
za Main(string[] args), jak je naznačeno v následující ukázce.
using System;
namespace VypisNaKonzoli
{
class Program
{
static void Main(string[] args)
{
// Zde pište program
}
}
}
Poslední velmi důležitou věcí je, že téměř všechny řádky programu je zapotřebí ukončo -
vat středníkem. Výjimku tvoří komentáře, ty středníkem končit nemusí. Dále výjimku tvoří
různé konstrukce jazyka C#, se kterými se seznámíte později. Ty zpravidla obsahují nějaký
příkaz, za kterým následuje blok dalších příkazů uzavřený mezi složené závorky.
V jednotlivých ukázkách si všímejte i toho, jak jsou jednotlivé příkazy odsazovány a že programy působí
přehledným dojmem.





30
Kapitola 2 Datové typy a proměnné
Komentáře zdrojového kódu
Pojďme si na úvod říci, že programy mohou obsahovat kromě příkazů, které má program vyko -
nat, i tzv. komentáře. Smyslem komentářů je usnadnit programátorovi pochopení zdrojového
kódu. Pro funkčnost programu nemají naprosto žádný význam.
Do komentářů je vhodné psát stručné a výstižné informace k jednotlivým částem kódu.
Jednořádkové komentáře se zapíší tak, že na začátek řádku napíšeme dvě lomítka //, za která
můžeme napsat naprosto libovolný text.
// Toto je jednořádkový komentář
Druhým typem jsou tzv. víceřádkové komentáře. Ty začínají symbolem /* a končí symbolem
*/. Text napsaný mezi počáteční a koncový symbol je považován za komentář a pro funkčnost
programu nemá žádný význam. Program jej zkrátka ignoruje.
/*
* To je víceřádkový komentář
* To je víceřádkový komentář
* To je víceřádkový komentář
*/
V ukázkových programech dodaných k této knize se s komentáři setkáte poměrně často a měly
by vám pomoci pochopit význam jednotlivých částí programu. Komentáře můžeme použít
i tak, že pomocí nich označíme nějaký řádek zdrojového kódu, když nechceme, aby se vykonal,
ale nechceme jej smazat. Takovýmto řádkům se mezi programátory často říká
„zakomentované řádky“. Až budete psát vlastní programy, rozhodně je používejte, abyste si usnadnili
orientaci v programu (např. si pomocí nich dělali poznámky k novým příkazům, programovým
konstrukcím apod.).
Proměnné
S  pojmem proměnná se budete při programování velmi často setkávat a  jeho pochopení je
velmi důležité. Tento pojem je poměrně obtížně definovatelný a my si jeho vysvětlení pro účel
této knihy značně zjednodušíme.
Jedno z možných míst, kde si mohou počítačové programy uchovávat data, je počítačová paměť.
Tu si můžete představit jako velkou kartotéku, která se skládá z pojmenovaných šuplíků.
V každém šuplíku může být uložena nějaká hodnota.
Proměnnou si představte jako jeden takovýto pojmenovaný šuplík. Proměnné tedy mají vždy
svůj název a mohou obsahovat nějakou hodnotu. Při programování v jazyce C# musíte pro
každou proměnnou kromě jejího názvu zapsat, jaký typ hodnoty bude obsahovat. Musíte
tedy říct, zdali proměnná bude obsahovat celé číslo, desetinné číslo, text nebo nějaký jiný typ,
o kterých se dozvíte více později.





Datové typy
31
Tímto se dostáváme k  pojmu datový typ, který velmi úzce souvisí s  proměnnými. Budeme
si tedy pamatovat, že proměnná je vždy nějakého datového typu a má nějaké jméno. Pokud
bychom chtěli v  programu evidovat počet studentů, pravděpodobně bychom vytvořili pro -
měnnou, která bude moci obsahovat celé číslo (určíme datový typ), a  pojmenovali ji např.
pocetStudentu. O  datových typech, pravidlech a  způsobech pojmenování proměnných se
dozvíte v následující kapitole.
Datové typy
Datový typ určuje rozsah hodnot, kterých může proměnná nabývat. .NET framework obsahuje
mnoho vestavěných datových typů. Vy se s nimi budete seznamovat postupně během čtení
této knihy. Na začátek si představme následující často používané datové typy.
Tabulka 2.1 Datové typy
Datový typPopis Rozsah
byteKladná celá čísla 0 .. 255
intZáporná i kladná celá čísla -2147483648 .. 2147483647
floatZáporná i kladná desetinná čísla -3.402823e38 .. 3.402823e38
stringTextový řetězec V podstatě libovolný rozsah
Nyní již znáte pojmy proměnná a datový typ. Pojďme si ukázat, jak můžete v programu vytvo -
řit několik proměnných a pomocí symbolu = do nich přiřadit hodnotu. Všimněte si, že každá
proměnná má před svým název definováno, jakého je typu.
byte pocetTestu = 7;
int pocetObyvatel = 10580456;
float slevaProPartnery = 11.5f;
string jmenoStudenta = „Pavel“;
Upozornění: Pokud do proměnné, která je typu float, přiřazujete hodnotu, je nutné za číslo
napsat písmeno f, např. 43.7f. Pokud do proměnné typu string přiřazujete řetězec, je nutné, aby
byl uzavřen do uvozovek.
poznámka: Je praktické proměnné nazývat podle toho, jaká data obsahují. Čím budou vaše
programy rozsáhlejší, tím více oceníte vhodné názvy proměnných, které vám usnadní orientaci
ve zdrojovém kódu.
Název proměnné se může skládat z písmen, číslic a podtržítek, ale nesmí začínat číslicí. Pokud
je název proměnné víceslovný, je vhodné každé další slovo začít velkým písmenem. Doporu -
čuje se v názvech proměnných používat pouze písmena anglické abecedy, a vyhnout se tedy
např. používání češtiny s  diakritikou. Zároveň platí, že proměnná nesmí mít stejný název
jako klíčová slova jazyka C# a  nesmí se jmenovat jako již existující datové typy. Nelze tedy





32
Kapitola 2 Datové typy a proměnné
proměnnou pojmenovat Console, int, float apod. Podívejte se na následující ukázku
vhodných a nevhodných názvů proměnných.
int 1cislo = 7555; // Toto je špatně. Název proměnné nesmí začínat číslicí
byte pocetDeti = 3; // Všimněte si, že druhé slovo začíná velkým písmenem
float celkovemzdovenakladyoddeleni = 180900f; // Toto je špatně čitelné
float celkoveMzdoveNakladyOddeleni = 180900f; // Vhodnější název proměnné
Pokud definujeme proměnnou, nemusíme jí ihned přiřadit hodnotu. Zároveň platí, že hod -
notu proměnné můžeme během programu měnit, ale vždy musíte respektovat její datový typ.
Vytvoříme si proměnnou pocetZamestnancu, která bude datového typu int. Do té si později
přiradíme číslo 36. Na dalším řádku tuto hodnotu přepíšeme hodnotou 39. Proměnná tedy
bude obsahovat číslo 39 – s tím, že předchozí hodnota je přepsána. V proměnné je tedy vždy
uložena právě jedna hodnota a proměnná si nepamatuje svou historii hodnot, které do ní byly
dříve nastaveny.
// Definujeme proměnnou, ale zatím jsme jí nepřiřadili hodnotu
int pocetZamestnancu;
// Do již existující proměnné přiřadíme hodnotu
pocetZamestnancu = 36;
// Hodnotu proměnné můžeme v průběhu programu měnit
pocetZamestnancu = 39;
// Proměnná pocetZamestnancu je typu int (celé číslo). Toto je tedy špatně:
// pocetZamestnancu = 35.4f;
Řádek pocetZamestnacu = 35.4f; je označen jako komentář, protože není správný a program
by nebylo možné spustit. Do proměnné typu int nemůžeme přiřadit desetinné číslo. Dále je
důležité si zapamatovat, že pokud definujeme v  programu více proměnných, nemohou mít
stejný název, i kdyby měly rozdílné datové typy. Pokud bychom do výše uvedeného programu
doplnili následující příkazy, program by nebylo možné spustit.
// Proměnná byla již definována s typem int. Toto je tedy špatně:
// float pocetZamestnancu = 39.5f;
Příkaz float pocetZamestnancu = 39.5f; je tedy záměrně označen jako komentář, protože
proměnná pocetZamestnancu již byla v programu dříve definována.
Konstanty
Pojem konstanta definujme na základě znalosti pojmu proměnná následujícím způsobem. Pro
konstanty platí totéž co pro proměnné s jedinou výjimkou: při definici konstanty jí přiřadíme
hodnotu, kterou již nemůžeme nikdy za běhu programu změnit. Ve zdrojovém kódu definu -
jeme konstantu pomocí klíčového slova const.
// Definujeme konstantu, její hodnotu nelze během programu měnit
const float koeficient = 1.75f;
// Toto je špatně:





Základní operace s čísly
33
koeficient = 2.1;
Představte si situaci, kdy program provádí výpočet ceny zboží s DPH. Výpočet je prováděn
pomocí vzorce (Počet kusů * cena za kus) * DPH, kde DPH je např. 0,21.
Takovýto program by mohl fungovat tak, že počet kusů a cenu zas kus bude možné za běhu
program změnit a  DPH bude po  celou dobu běhu programu neměnné. V  tom případě je
vhodné pro DPH použít konstantu, protože budete mít jistotu, že nikde v programu nedojde
ke změně její hodnoty.
Základní operace s čísly
V programovacím jazyku C# můžete používat standardní matematické operace, jako je např.
sčítání, odčítání, násobení a dělení. Podívejte se, jaké symboly se pro jednotlivé elementární
matematické operace používají:
Tabulka 2.2 Základní matematické operace
Matematická operace Symbol
Sčítání+
OdčítáníNásobení*
Dělení/
Zbytek po celočíselném dělení%
Nyní si ukažme, jak využijeme výše uvedené operace při práci s  proměnnými. Na  začátku
ukázky deklarujeme dvě celočíselné a jednu desetinnou proměnnou. Poté si do dalších pro -
měnných ukládáme výsledky jednotlivých matematických operací. Dále si všimněte, že platí
přednost násobení a dělení před sčítáním a odčítáním. Samozřejmě je možné příslušnou
operaci uzavřít do závorek a tím ji upřednostnit.
Upozornění: Věnujte pozornost zejména odlišnosti v situaci, kdy dělíme dvě celá čísla a kdy je
alespoň jedno z čísel desetinné. Pokud dělíme dvě celá čísla je provedeno celočíselné dělení.
Pokud je při dělení alespoň jedno číslo desetinné, je i výsledek desetinný.
int x = 10;
int y = 4;
float z = 4;
int soucet = x + y;
int rozdil = x - y;
int soucin = x * y;
// Pokud dělíme dvě celá čísla, je provedeno celočíselné dělení.





34
Kapitola 2 Datové typy a proměnné
int podilCeleCislo = x / y; // Výsledek je 2
int zbytePoCelociselnemDeleni = x % y;// Zbytek po celočíselném dělení je 2
// Pokud je při dělení alespoň jedno číslo desetinné, je i výsledek
// desetinné číslo
float podilDesetinneCislo = x / z; // Výsledek je 2.5
// Toto je špatně:
int podilSpatnyTyp = x / z;
int vysledek1 = 2 * 3 + 5 * 4; // Výsledek je 26
int vysledek2 = 2 * (3 + 5) * 4; // Výsledek je 64
int vysledek3 = 2 + 18 / 2; // Výsledek je 11
int vysledek4 = (2 + 18) / 2; // Výsledek je 10
Výpis na příkazový řádek
Nyní již umíte základy práce s proměnnými a je jistě na místě se naučit, jak uživateli vašeho
programu něco sdělit. K  tomuto účelu budeme využívat příkazový řádek, na  který se nyní
naučíte vypisovat potřebné informace.
poznámka: Většina programů, které uživatelé používají, má vzhledné grafické uživatelské rozhraní.
Nicméně tvorba takovýchto programů přesahuje rámec této knihy.
Proto budeme pracovat s příkazovým řádkem, který poskytuje velmi jednoduchý způsob, jak
komunikovat s uživatelem prostřednictvím psaného textu, a budeme se soustředit především
na to, abyste se naučili programovací jazyk C#. Ukažme si, jak by mohl program, který vypíše
na příkazový řádek daný řetězec, vypadat.
using System;
namespace VypisNaKonzoli
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(„První řetězec vypsaný na konzoli!“);
Console.ReadKey();
}
}
}
V  ukázce vidíte příkaz Console.WriteLine obsahující v  závorkách řetězec, který chceme
na  konzoli vypsat. Připomeňme si, že řetězce vždy uzavíráme do  uvozovek. Kdybychom se
měli vyjádřit přesně, řekli bychom, že na třídě Console voláme metodu WriteLine, které
předáváme parametr typu string.





Výpis na příkazový řádek
35
Následuje příkaz Console.Readkey, který zajistí, že program počká, dokud uživatel nestiskne
libovolnou klávesu. Pojmy metoda a třída zatím neznáme. Prozatím si je popišme
zjednodušeným způsobem. Později jim budou věnovány samostatné kapitoly.
poznámka: Metoda je část programu, kterou někdo naprogramoval a která vykoná určitou
činnost, v našem případě vypíše řetězec na konzoli.
Metoda může pro svou činnost požadovat parametry. V našem případě musíme metodě předat
parametr typu string, kterým říkáme, co chceme na konzoli vypsat.
poznámka: Třídu si zatím definujme jako část programu, která obsahuje metody.
Třída je zpravidla definována v tzv. jmenném prostoru. Třída Console je definována
ve jmenném prostoru System. Jmenný prostor může obsahovat více tříd a  budeme se mu věnovat
v dalších kapitolách. Abychom mohli metodu WriteLine ze třídy Console zavolat, máme dvě
možnosti. Buď můžeme napsat na začátek programu příkaz
using System;
kterým sdělíme, že v programu budeme používat třídy ze jmenného prostoru System. Nebo
můžeme název třídy Console psát včetně jejího jmenného prostoru.
System.Console.WriteLine(„První řetězec vypsaný na konzoli!“);
poznámka: V praxi se setkáte spíše s tím, že programátor použije příkaz using, než aby
vypisoval název třídy včetně jejího jmenném prostoru. V této knize budeme preferovat právě používání
onoho příkazu using.
Nyní již umíte vypsat libovolný řetězec na konzoli. Metoda Console.WriteLine umí kromě
řetězce vypsat na konzoli i hodnotu proměnné, která je v podstatě libovolného typu.
Protože již znáte alespoň přibližnou definici třídy, je vhodné doplnit několik informací
k základním datovým typům uvedeným v tabulce 2.1. Názvy, které byly uvedeny v tabulce 2.1, jsou
takzvanými zkratkami pro názvy tříd jednotlivých datových typů uvedených v  tabulce 2.3.
V praxi se setkáte s tím, že se často používají právě ony zkratky namísto celého názvu třídy.
Důvod je zřejmý: zápis pomocí zkratek je kratší a jednodušší.
Tabulka 2.3 Zkratky a názvy tříd základních datových typů
Datový typ (zkratka)Třída Rozsah
byteByte 0 .. 255
intInt32 -2147483648 .. 2147483647
floatSingle -3.402823e38 .. 3.402823e38
stringString V podstatě libovolný textový řetězec





36
Kapitola 2 Datové typy a proměnné
V podkapitole Základní operace s čísly jsme vytvořili program, který provedl základní mate -
matické operace a do proměnných ukládal jejich výsledky. Nyní tento program rozšíříme tak,
aby výsledky výpočtů vypsal na konzoli.
using System;
namespace VypisPromennychNaKonzoli
{
class Program
{
static void Main(string[] args)
{
int x = 10;
int y = 4;
float z = 4;
int soucet = x + y;
Console.WriteLine(„10 + 4 =“);
Console.WriteLine(soucet);

int rozdil = x - y;
Console.WriteLine(„10 - 4 =“);
Console.WriteLine(rozdil);

int soucin = x * y;
Console.WriteLine(„10 * 4 =“);
Console.WriteLine(soucin);
int podilCeleCislo = x / y;
Console.WriteLine(„10 / 4 =“);
Console.WriteLine(podilCeleCislo);

int zbytekPoCelociselnemDeleni = x % y;
Console.WriteLine(„10 % 4 =“);
Console.WriteLine(zbytekPoCelociselnemDeleni);
float podilDesetinneCislo = x / z;
Console.WriteLine(„10 / 4.0 =“);
Console.WriteLine(podilDesetinneCislo);
// Na závěr počkáme, až uživatel stiskne klávesu
Console.ReadKey();
}
}
}





Výpis na příkazový řádek
37
10 + 4 =
14
10 - 4 =
6
10 * 4 =
40
10 / 4 =
2
10 % 4 =
2
10 / 4.0 =
2,5
Připomeňme si význam metody Console.ReadKey. Tato způsobí, že program čeká, dokud
uživatel nestiskne libovolnou klávesu. Jinak by se pravděpodobně stalo to, že by uživatel ani
nestihl zaregistrovat, to co bylo vypsáno na konzoli, předtím než se konzole zavřela, protože
program skončil.
Dále si všimněte si, že výpis na konzoli není příliš přehledný. Metoda Console.WriteLine
totiž po vypsání odřádkuje. To znamená, že další volání metody Console.WriteLine bude
vypisovat na následující řádek konzole. Pokud chceme provést výpis na konzoli
a neodřádkovat, použijeme metodu Console.Write. Takto by mohla vypadat část programu vypisující
na konzoli sčítání dvou proměnných bez odřádkování před vypsáním výsledku.
// Výpis bez odřádkování
int prvniCislo = 7;
int druheCislo = 3;
int soucetDvouCisel = prvniCislo + druheCislo;
Console.Write(„7 + 3 = „);
// Po vypsání výsledku odřádkujeme pro případ,
// že bychom vypisovali další informace
Console.WriteLine(soucetDvouCisel);
7 + 3 = 10
Zamysleme se nyní nad tím, co by se stalo, kdybychom změnili hodnoty proměnných prvni
Cislo a druheCislo. Museli bychom upravit i  řetězec „7 + 3 = „. To není příliš
praktické. Ukažme si, jak podobné situace řešit lépe. Využijeme toho, že metody Console.Write
i Console.WriteLine umožňují v řetězci definovat místa, do kterých dosadíme potřebnou
hodnotu. Připravíme si teď v řetězci místa, do kterých dosadíme potřebnou hodnotu.
int cislo1 = 7;
int cislo2 = 3;
int soucetCisel = cislo1 + cislo2;
Console.WriteLine(„{0} + {1} = {2}“, cislo1, cislo2, soucetCisel);
Console.ReadKey();
7 + 3 = 10





38
Kapitola 2 Datové typy a proměnné
Všimněte si, že v řetězci jsou ve složených závorkách čísla, která určují, kolikátý z parametrů
oddělených čárkami za řetězcem se má na dané místo dosadit. Abychom měli srovnání a doká -
zali ocenit přínos této možnosti dosazení hodnot do řetězce, zkusme výše uvedený program
zapsat bez použití onoho dosazení.
int a = 7;
int b = 3;
int soucetAB = a + b;
Console.Write(a);
Console.Write(„ + „);
Console.Write(b);
Console.Write(„ = „);
// Poslední výpis uděláme pomoci WriteLine,
// abychom odřádkovali pro další možné výpisy
Console.WriteLine(soucetAB);
Console.ReadKey();
7 + 3 = 10
Ještě je zapotřebí si říct, že existují speciální symboly, které můžeme v řetězcích používat. Před -
stavte si situaci, kdy chcete v rámci vypisovaného řetězce vypsat i uvozovky. Mohli bychom
zkusit napsat následující příkaz.
Console.WriteLine(„Pavel: „Ahoj jak se mas?“ „);
Program nebude možné spustit, protože řetězec musí být uzavřen do páru uvozovek. V tomto
řetězci jsou ale uvozovky čtyřikrát a jazyk C# tomuto zápisu nerozumí. Pokud chcete v rámci
řetězce použít uvozovky, je zapotřebí před ně umístit znak lomítka . Správný zápis by tedy byl:
Console.WriteLine(„Pavel: “Ahoj jak se mas?“ „);
V  následující tabulce uvádíme stručný výčet nejčastěji používaných speciálních symbolů
v řetězcích.
Tabulka 2.4 Speciální symboly pro zápis v řetězcích
SymbolVýznam Příklad
\Slouží k zápisu
zpětného lomítka
„Soubor je umisten na ceste C:\temp\soubor.txt“
“Slouží k zápisu
uvozovek
„Pavel: “Ahoj jak se mas?““
Slouží k odřádkování „Jmeno: Karel Prijmeni: Prochazka“
Slouží k zápisu jednoho
tabulátoru
„Petr Soucek 15.5.1976“
Vyzkoušejte si použití těchto symbolů v řetězcích, které se budou vypisovat na konzoli.





Načtení vstupu od uživatele
39
Načtení vstupu od uživatele
Nedílnou součástí řady programů je získávání vstupu od  uživatele. Jinými slovy: Programy
mnohdy pro svou činnost potřebují informace, které jim uživatel v průběhu práce s programem
zadá. Např. program, který by měl za úkol sečíst dvě čísla, by nejdříve uživatele vyzval k jejich
zadání a následně by vypsal jejich součet na konzoli. Vy se nyní naučíte, jak získat informace
od uživatele prostřednictvím konzole.
Využijeme metodu Console.ReadLine, která je definována na  třídě Console. Opět mírně
předběhneme a zjednodušeně se seznámíme s jednou vlastností metod.
Metody mohou po svém vykonání vracet výsledek, který budeme nazývat návratová hodnota
metody. Každá metoda má jednoznačně určeno, jakého datového typu je její návratová
hodnota. Metoda Console.ReadLine má návratovou hodnotu typu string. Pojďme si nyní
ukázat program, který od uživatele načte jeho jméno a poté jej použije při výpisu věty na konzoli.
Console.Write(„Zadejte jmeno: „);
string jmeno = Console.ReadLine();
Console.WriteLine(„Zadane jmeno bylo: {0}“, jmeno);
Console.ReadKey();
Protože jde o první program, kde očekáváme zadání hodnoty od uživatele, projdeme si pří -
kazy programu krok za krokem. Nejdříve se provede metoda Console.Write, která
do příkazového řádku vypíše řetězec „Zadejte jmeno“ a  neodřádkuje. Uživatel tedy bude moci psát
na ten samý řádek.
Zadejte jmeno:
Program počká na to, až uživatel napíše libovolný text a stiskne Enter. Toto je zajištěno
zavoláním metody Console.ReadLine. Její návratovou hodnotou je tedy uživatelem napsaný text
a tento se uloží do proměnné jmeno. Poté program vypíše na konzoli řetězec, do kterého vsadí
hodnotu z proměnné jmeno. Na posledním řádku programu je volání metody Console.Read
Key. Tím je docíleno toho, že program po provedení posledního výpisu neskončí, příkazový
řádek se automaticky nezavře a my můžeme vidět vypsaný řetězec.
Zadejte jmeno: Pavel
Zadane jmeno bylo: Pavel
Konverze řetězce na číslo
Nyní již umíte načíst řetězec od uživatele a uložit si jej do proměnné. Nicméně v řadě případů
budete potřebovat získat od uživatele např. celé nebo desetinné číslo a dále s ním pracovat.
Řekněme, že bychom měli napsat program, který od  uživatele načte dvě celá čísla a  vypíše
jejich součin.
Následující program by nedával smysl, protože bychom násobili řetězce, a nikoliv celá čísla.
To je způsobeno tím, že metoda Console.ReadLine vrací datový typ string. To je poměrně





40
Kapitola 2 Datové typy a proměnné
pochopitelné. Tato metoda zkrátka vrátí přesně to, co uživatel napíše do konzole, když pak
stiskne Enter. Může tedy napsat např. „Ahoj jak se mas?“ a „Mam se dobre“. My bychom si
tyto dva řetězce uložili do proměnných a pokusili se je vynásobit. Násobit řetězce „Ahoj jak se
mas?“ a „Mam se dobre“ nedává smysl. Takže i když uživatel zadá do konzole text „10“ a „20“,
vrátí metoda Console.ReadLine datový typ string. Nyní si popíšeme postup, jak převést
uživatelem zadaný řetězec na datový typ, který potřebujeme.
Console.Write(„Zadejte prvni cislo: „);
string cislo1 = Console.ReadLine();
Console.Write(„Zadejte druhe cislo: „);
string cislo2 = Console.ReadLine();
// Toto je špatně. Násobení řetězců nedává smysl.
// Je zapotřebí převod na čísla
string vysledek = cislo1 * cislo2;
Je zapotřebí převést řetězec, který uživatel zadá, na celé číslo. Převod provedeme pomocí metody
Parse definované na třídě Int32, která přijímá parametr typu string obsahující řetězec, který
chceme převést na celé číslo. Ukažme si program, který tento převod provede a již úspěšně
vypíše onen součin dvou celých čísel.
Console.Write(„Zadejte prvni cele cislo: „);
string retezecCislo1 = Console.ReadLine();
int cislo1 = Int32.Parse(retezecCislo1);
// Návratovou hodnotu metody ReadLine si nemusíme ukládat do proměnné,
// ale můžeme ji rovnou předat metodě Parse
Console.Write(„Zadejte druhe cele cislo: „);
int cislo2 = Int32.Parse(Console.ReadLine());
int soucin = cislo1 * cislo2;
Console.WriteLine(„{0} * {1} = {2}“, cislo1, cislo2, soucin);
Console.ReadKey();
Pokud by uživatel zadal namísto čísla nějaký text např. „abcd“, program by skončil chybou,
protože by se řetězec nepodařilo na číslo převést. V tuto chvíli se s tímto typem problémů neu -
míme vypořádat, ale nezoufejte, budeme se tímto zabývat v kapitole věnované tzv. výjimkám.
Zadejte prvni cele cislo: 21
Zadejte druhe cele cislo: 4
21 * 4 = 84
Jak bylo řečeno v  podkapitole Výpis na  příkazový řádek, int je zkratkou pro třídu Int32.
Mohli bychom tedy namísto Int32.Parse napsat int.Parse. V praxi i v tomto textu se často
setkáte s oběma způsoby zápisu.
Obdobně jako jsme vytvořili program pro celá čísla, vytvoříme program, který od uživatele
načte dvě desetinná čísla a vypíše jejich součet. Pro převod na desetinné číslo použijeme metodu
Parse definovanou na třídě Single. V programu vidíte, že je možné použít jak zkratku float.
Parse, tak název třídy Single.Parse.





Konverze čísla na řetězec
41
Console .WriteLine(„Zadejte prvni desetinne cislo: „);
string retezecDesCislo1 = Console.ReadLine();
float desCislo1 = float.Parse(retezecDesCislo1);
Console.WriteLine(„Zadejte druhe desetinne cislo: „);
// Návratovou hodnotu metody ReadLine si nemusíme ukládat do proměnné,
// ale můžeme ji rovnou předat metodě Parse
float desCislo2 = Single.Parse(Console.ReadLine());
float soucetDesCisel = desCislo1 + desCislo2;
Console.WriteLine(„{0} + {1} = {2}“, desCislo1, desCislo2, soucetDesCisel);
Console.ReadKey();
Zadejte prvni desetinne cislo:
5,25
Zadejte druhe desetinne cislo:
1,35
5,25 + 1,35 = 6,6
Všimněte si, že můžete metodě předat jako parametr přímo návratovou hodnotu jiné metody.
V programu předáváme metodě Parse návratovou hodnotu metody ReadLine, aniž bychom
si návratovou hodnotu ukládali do proměnné. Tento postup je běžný, pokud dále v programu
nepotřebujete s návratovou hodnotou metody pracovat.
Konverze čísla na řetězec
Kromě konverze z řetězce na číslo je mnohdy zapotřebí provést konverzi opačným směrem.
Pokud chceme číslo převést na řetězec, použijeme k tomu metodu ToString. Tuto metodu
budeme používat následujícím způsobem. Napíšeme název proměnné, jejíž hodnotu chceme
převést, a na ni zavoláme metodu ToString. Metodu ToString lze zavolat na libovolné
proměnné libovolného datového typu. Důležité je, že metoda nezmění hodnotu v  proměnné,
na které ji zavoláme, ale vrátí hodnotu příslušné proměnné převedenou na datový typ String.
Tuto návratovou hodnotu si můžeme uložit do jiné proměnné nebo ji rovnou použít v jiném
příkazu. Dále je důležité, že řetězce je možné sčítat. Podívejte se na následující program, který
demonstruje rozdíly mezi sčítáním čísel a sčítáním řetězců.
int cislo1 = 5;
int cislo2 = 10;
int soucetCisel = cislo1 + cislo2;
// Výsledek metody ToString si můžeme uložit do proměnné
string retezec1 = cislo1.ToString();
string retezec2 = cislo2.ToString();
string soucetRetezcu = retezec1 + retezec2;
// Výsledek metody ToString můžeme rovnou použít
// v dalších příkazech a metodách
string soucetRetezcu2 = cislo1.ToString() + cislo2.ToString();
Console.WriteLin


       

internetové knihkupectví - online prodej knih


Knihy.ABZ.cz - knihkupectví online -  © 2004-2017 - ABZ ABZ knihy, a.s.