







     Obsah  D1, "Zanme"



     Kapitola 1  Instalace Turbo C++                                 9
        Instalace Turbo C++  . . . . . . . . . . . . . . . . . . . . 9
           Systmy laptop  . . . . . . . . . . . . . . . . . . . .  10
        Soubor README  . . . . . . . . . . . . . . . . . . . . . .  10
        Soubor HELPME!.DOC . . . . . . . . . . . . . . . . . . . .  11
        Turbo Calc . . . . . . . . . . . . . . . . . . . . . . . .  11

     Kapitola 2  Orientace v manulech Turbo C++                    13
        Vlastnosti . . . . . . . . . . . . . . . . . . . . . . . .  13
           C++ . . . . . . . . . . . . . . . . . . . . . . . . . .  13
           VROOMM (OVERLAY)  . . . . . . . . . . . . . . . . . . .  13
           Borlandovsk nov integrovan prosted . . . . . . . .  14
        Jak pouvat manuly . . . . . . . . . . . . . . . . . . .  14
        Zatenci a programtoi, kte se u C jazyku  . . . .  15
        Zkuen programtoi v C . . . . . . . . . . . . . . . . .  15

     Kapitola 3  Nov IDE                                           17
        IDE  . . . . . . . . . . . . . . . . . . . . . . . . . . .  17
           Full Menus On/Off . . . . . . . . . . . . . . . . . . .  19
           My, hork klvesy a spaen help  . . . . . . . . . .  20
              Hork klvesy. . . . . . . . . . . . . . . . . . . .  20
              Spaen npovda. . . . . . . . . . . . . . . . . .  21
        Lekce 1: Spoutn, nahrvn a editace  . . . . . . . . .  22
        Tvorba novho souboru  . . . . . . . . . . . . . . . . . .  23
              Vbr bloku  . . . . . . . . . . . . . . . . . . . .  24
              Koprovn a pidvn . . . . . . . . . . . . . . .  24
           Zmny v novm souboru . . . . . . . . . . . . . . . . .  24
              Vbr a nahrazen  . . . . . . . . . . . . . . . . .  25
              Pevzet z okna Help . . . . . . . . . . . . . . . .  26
              Uloen provedench zmn . . . . . . . . . . . . . .  27
        Lekce 2 : Kompilace a spoutn  . . . . . . . . . . . . .  27
           Uzaven editanho okna  . . . . . . . . . . . . . . .  28
        Lekce 3 : Konec prce s Turbo C++  . . . . . . . . . . . .  29
        Kde lze najt vce informac . . . . . . . . . . . . . . .  29

     Kapitola 4  vod do C                                          31
        Strun historie . . . . . . . . . . . . . . . . . . . . .  31
        Zkladn programov operace  . . . . . . . . . . . . . . .  31
        Zkladn struktura programu v C  . . . . . . . . . . . . .  33
        Prce s sly  . . . . . . . . . . . . . . . . . . . . . .  36
           Numerick typy dat  . . . . . . . . . . . . . . . . . .  36
              Cel sla . . . . . . . . . . . . . . . . . . . . .  38
              Promnn se znamnkem a bez znamnka . . . . . . . .  38
              sla s pohyblivou adovou rkou  . . . . . . . . .  39
        Promnn . . . . . . . . . . . . . . . . . . . . . . . . .  41
           Inicializace promnnch . . . . . . . . . . . . . . . .  41
           Piazovac pkazy . . . . . . . . . . . . . . . . . .  41
           Kombinace piazen . . . . . . . . . . . . . . . . . .  42
           Pojmenovvn . . . . . . . . . . . . . . . . . . . . .  42
           Formtovn vstupn hodnoty : sscanf  . . . . . . . . .  43


                                     i 


           Vypsn hodnoty promnn  . . . . . . . . . . . . . . .  46
              Konverze typ v printf . . . . . . . . . . . . . . .  48
              Formtovn s posloupnostmi escape\  . . . . . . . .  48
           Aritmetick opertory . . . . . . . . . . . . . . . . .  50
           Aritmetick a typov konverze . . . . . . . . . . . . .  51
              Petypovn  . . . . . . . . . . . . . . . . . . . .  52
           Kombinace aritmetiky a piazen  . . . . . . . . . . .  52
           Inkrementace a dekrementace . . . . . . . . . . . . . .  52
           Prce s bity  . . . . . . . . . . . . . . . . . . . . .  53
        Vrazy . . . . . . . . . . . . . . . . . . . . . . . . . .  54
           Vyslen vraz  . . . . . . . . . . . . . . . . . . .  55
           Piazen hodnoty ve vrazu . . . . . . . . . . . . . .  56
        Znaky a etzce  . . . . . . . . . . . . . . . . . . . . .  57
           Vstup a vstup jedinho znaku . . . . . . . . . . . . .  57
           Zobrazen znaku . . . . . . . . . . . . . . . . . . . .  58
           Zobrazen znakovch etzc . . . . . . . . . . . . . .  58
        Testovac podmnky a tvorba vbr . . . . . . . . . . . .  59
           Pouit relanch opertor . . . . . . . . . . . . . .  60
           Pouit logickch opertor . . . . . . . . . . . . . .  61
           Vtven pomoc if a if...else . . . . . . . . . . . . .  61
           Vcensobn vbr pomoc if...else  . . . . . . . . . .  62
           Vcensobn vbr : switch  . . . . . . . . . . . . . .  64
        Opakovan provdn pomoc smyek  . . . . . . . . . . . .  66
           Smyka while  . . . . . . . . . . . . . . . . . . . . .  66
           Smyka do while . . . . . . . . . . . . . . . . . . . .  67
           Smyka for  . . . . . . . . . . . . . . . . . . . . . .  68
           Break a continue  . . . . . . . . . . . . . . . . . . .  70
           Pkaz goto . . . . . . . . . . . . . . . . . . . . . .  71
           Vnoen smyky  . . . . . . . . . . . . . . . . . . . .  71
           Vbr vhodn smyky . . . . . . . . . . . . . . . . . .  72
        Tvorba programu pomoc funkc a maker  . . . . . . . . . .  73
           Definice uivatelskch funkc . . . . . . . . . . . . .  73
              Funkn prototyp . . . . . . . . . . . . . . . . . .  73
              Definice funkce  . . . . . . . . . . . . . . . . . .  74
              Kd uvnit funkce  . . . . . . . . . . . . . . . . .  74
              Hodnota, kterou funkce vrac . . . . . . . . . . . .  75
              Pouit hodnoty, kterou funkce vrac.  . . . . . . .  75
           Programy s vce funkcemi  . . . . . . . . . . . . . . .  75
              Funkn prototypy a globln deklarace . . . . . . .  78
              Nastaven grafick obrazovky . . . . . . . . . . . .  78
              Vpoet grafickch souadnic . . . . . . . . . . . .  78
              Kreslen planet  . . . . . . . . . . . . . . . . . .  79
           Hlavikov soubory, funkce a knihovny . . . . . . . . .  79
           Rozsah platnosti a doba trvn promnnch . . . . . . .  82
              Rozsah platnosti . . . . . . . . . . . . . . . . . .  82
              Doba trvn  . . . . . . . . . . . . . . . . . . . .  83
           Konstanty . . . . . . . . . . . . . . . . . . . . . . .  84
           Pouit maker k ukryt podrobnost  . . . . . . . . . .  85
        Budovn datov struktury  . . . . . . . . . . . . . . . .  86
        Deklarace a inicializace pole  . . . . . . . . . . . . . .  87
           Vcerozmrn pole . . . . . . . . . . . . . . . . . . .  89
           Pole a etzce  . . . . . . . . . . . . . . . . . . . .  90
           Definice etzcov promnn . . . . . . . . . . . . . .  91
           Pejmenovn typ . . . . . . . . . . . . . . . . . . .  92
           Vtov typy  . . . . . . . . . . . . . . . . . . . . .  93
           Kombinace dat do struktur . . . . . . . . . . . . . . .  94
           Pouit st struktury . . . . . . . . . . . . . . . .  94
        Tvorba sprvnch deklarac . . . . . . . . . . . . . . . .  95
        Ukazatele  . . . . . . . . . . . . . . . . . . . . . . . .  97
           Deklarace a pouit ukazatele . . . . . . . . . . . . .  98


                                    ii 


           Ukazatele a etzce . . . . . . . . . . . . . . . . . .  99
           Aritmetika ukazatel  . . . . . . . . . . . . . . . . . 100
           Ukazatele, struktury a seznamy  . . . . . . . . . . . . 101
           Pouit ukazatel k nvratu hodnoty z funkc  . . . . . 103
        Vyuit systmovch zdroj . . . . . . . . . . . . . . . . 105
           Pouit soubor a stream . . . . . . . . . . . . . . . 105
              Oteven streamu . . . . . . . . . . . . . . . . . . 107
              Zpis do souboru . . . . . . . . . . . . . . . . . . 107
              Natn ze souboru  . . . . . . . . . . . . . . . . 107

     Kapitola 5  Zklady C++                                       109
        Ohranienost . . . . . . . . . . . . . . . . . . . . . . . 111
        Ddinost  . . . . . . . . . . . . . . . . . . . . . . . . 113
        Vcetvarost  . . . . . . . . . . . . . . . . . . . . . . . 114
        Pekrvn . . . . . . . . . . . . . . . . . . . . . . . . 114
        Modelovn reality pomoc td . . . . . . . . . . . . . . 115
           Tvorba td, grafick pklad . . . . . . . . . . . . . 115
           Deklarace objekt . . . . . . . . . . . . . . . . . . . 116
           lensk funkce  . . . . . . . . . . . . . . . . . . . . 116
           Voln lensk funkce . . . . . . . . . . . . . . . . . 118
           Konstruktory a destruktory  . . . . . . . . . . . . . . 118
           Program a data jako jeden celek . . . . . . . . . . . . 120
           zen pstupu k lenm : private, public a
           protected . . . . . . . . . . . . . . . . . . . . . . . 121
           Tda je implicitn privtn  . . . . . . . . . . . . . 121
           Sputn programu v C++ . . . . . . . . . . . . . . . . 122
        Ddinost (inheritance)  . . . . . . . . . . . . . . . . . 124
           Nov pohled na tdu Point  . . . . . . . . . . . . . . 125
              Ddinost a zen pstupu  . . . . . . . . . . . . 126
           Balen td do modul . . . . . . . . . . . . . . . . . 127
           Rozen tdy . . . . . . . . . . . . . . . . . . . . 130
           Vcensobn ddinost . . . . . . . . . . . . . . . . . 133
        Virtuln funkce . . . . . . . . . . . . . . . . . . . . . 137
           Virtuln funkce v praxi  . . . . . . . . . . . . . . . 138
           Definice virtulnch funkc . . . . . . . . . . . . . . 139
           Vvoj kompletnho grafickho modulu . . . . . . . . . . 140
              Typy odkaz  . . . . . . . . . . . . . . . . . . . . 140
           Obyejnou nebo virtuln lenskou funkci? . . . . . . . 146
        Dynamick objekty  . . . . . . . . . . . . . . . . . . . . 146
           Destruktory a mazn  . . . . . . . . . . . . . . . . . 147
           Pklad alokace dynamickho objektu . . . . . . . . . . 148
        Prunost C++ . . . . . . . . . . . . . . . . . . . . . . . 152
           Spaen funkce vn definice td . . . . . . . . . . . 152
           Funkce s implicitnmi argumenty . . . . . . . . . . . . 153
           Pekryvn funkce - rozen  . . . . . . . . . . . . . 154
           Nov vznamy pomoc pekrvn opertor  . . . . . . . 156
           Sptelen funkce . . . . . . . . . . . . . . . . . . . 159
           Knihovny stream v C++  . . . . . . . . . . . . . . . . 160
              Standardn I/O (vstup/vstup)  . . . . . . . . . . . 160
              Formtovan vstup . . . . . . . . . . . . . . . . . 162
              Diskov I/O  . . . . . . . . . . . . . . . . . . . . 164
        Vstup a vstup pro typy dat definovan uivatelem  . . . . 166
        Co te?  . . . . . . . . . . . . . . . . . . . . . . . . . 167
        Zvr  . . . . . . . . . . . . . . . . . . . . . . . . . . 168

     Kapitola 6  Pruka C++                                      169
        Pechod z obyejnho C do lepho C  . . . . . . . . . . . 169
           Program 1 . . . . . . . . . . . . . . . . . . . . . . . 169
           Program 2 . . . . . . . . . . . . . . . . . . . . . . . 170
           Program 3 . . . . . . . . . . . . . . . . . . . . . . . 171


                                    iii 


           Program 4 . . . . . . . . . . . . . . . . . . . . . . . 172
        Objektov podpora  . . . . . . . . . . . . . . . . . . . . 173
           Program 5 . . . . . . . . . . . . . . . . . . . . . . . 173
        Program 6  . . . . . . . . . . . . . . . . . . . . . . . . 175
           Program 7 . . . . . . . . . . . . . . . . . . . . . . . 178
           Program 8 . . . . . . . . . . . . . . . . . . . . . . . 179
           Program 9 . . . . . . . . . . . . . . . . . . . . . . . 181
        Shrnut  . . . . . . . . . . . . . . . . . . . . . . . . . 183

     Kapitola 7  Ladn v novm IDE                                185
        Ladn a vvoj programu  . . . . . . . . . . . . . . . . . 186
        Tvorba pkladu: PLOTEMP.C . . . . . . . . . . . . . . . . 187
        Tvorba prototypu programu  . . . . . . . . . . . . . . . . 188
        Pouit integrovanho ladicho programu  . . . . . . . . . 191
        Trasovn programu . . . . . . . . . . . . . . . . . . . . 191
           Trasovn vy rovn  . . . . . . . . . . . . . . . . 191
           Trasovn ve volanch funkcch  . . . . . . . . . . . . 192
        Pokraovn ve vvoji programu . . . . . . . . . . . . . . 193
        Nastaven bod peruen . . . . . . . . . . . . . . . . . 194
           Okamit zastaven pomoc Ctrl-Break  . . . . . . . . . 195
        Provrka dat . . . . . . . . . . . . . . . . . . . . . . . 196
           Inspektorsk okna . . . . . . . . . . . . . . . . . . . 196
           Provovn pol a etzc  . . . . . . . . . . . . . . 196
           Provovn struktur a union . . . . . . . . . . . . . 197
           Provovn ukazatel . . . . . . . . . . . . . . . . . 197
           Provovn funkc  . . . . . . . . . . . . . . . . . . 197
           Kdy inspektory pouvat?  . . . . . . . . . . . . . . . 198
        Vyslovn a zmna promnnch . . . . . . . . . . . . . . 198
           Uren formtu zobrazen  . . . . . . . . . . . . . . . 199
           Uren potu hodnot . . . . . . . . . . . . . . . . . . 200
           Koprovn od pozice kurzoru  . . . . . . . . . . . . . 200
           Specifikace promnnch v jinch funkcch  . . . . . . . 200
           Zmny hodnot  . . . . . . . . . . . . . . . . . . . . . 200
        Sledovn programu nastavenm sledovn  . . . . . . . . . 202
           Vkldn sledovn  . . . . . . . . . . . . . . . . . . 203
           Sledovn (watching)  . . . . . . . . . . . . . . . . . 203
           zen oken ladicho programu . . . . . . . . . . . . . 204
           Editace a ruen sledovn  . . . . . . . . . . . . . . 204
           Hledn definice funkce . . . . . . . . . . . . . . . . 204
           Nalezen co se odkud vol . . . . . . . . . . . . . . . 205
           Vce zdrojovch soubor . . . . . . . . . . . . . . . . 205
        Prevence . . . . . . . . . . . . . . . . . . . . . . . . . 206
           Opatrn tvorba  . . . . . . . . . . . . . . . . . . . . 206
           ist prce . . . . . . . . . . . . . . . . . . . . . . 206
        Systematick testovn software  . . . . . . . . . . . . . 207
           Modifikace test  . . . . . . . . . . . . . . . . . . . 207
           Oblasti zasluhujc zvltn pozornost  . . . . . . . . 207
        Ukonen PLOTEMP.C . . . . . . . . . . . . . . . . . . . . 208
           Ukonen table_view . . . . . . . . . . . . . . . . . . 209
           Implementace graph_view . . . . . . . . . . . . . . . . 210
           save_temps a read_temps . . . . . . . . . . . . . . . . 211
        Odpovdi na cvien k ladn . . . . . . . . . . . . . . . 212
           min_max a avg_temps . . . . . . . . . . . . . . . . . . 212
           graph_view  . . . . . . . . . . . . . . . . . . . . . . 212
           save_temps  . . . . . . . . . . . . . . . . . . . . . . 213
           read_temps  . . . . . . . . . . . . . . . . . . . . . . 213






                                    iv 








                               Obrzky


     Figure 3.1: Sloky IDE  . . . . . . . . . . . . . . . . . . . .18
     Figure 3.2: Full menus : on a off . . . . . . . . . . . . . . .20
     Figure 3.3: Dialogov okno k nahrvn soubor  . . . . . . . .22
     Figure 3.4: Dialog replace  . . . . . . . . . . . . . . . . . .25
     Figure 4.1: Obrzek 4.1 : Velikost pamti pidlen slm (1
                 stupe = 1 byte)  . . . . . . . . . . . . . . . . .36
     Figure 4.2: Uloen etzce v pamti  . . . . . . . . . . . . .59
     Figure 4.3: Tok informac do a z funkce tax . . . . . . . . . .75
     Figure 4.4: Jednoduch programov struktura (ve v jednom)  . .80
     Figure 4.5: Program vytvoen z nkolika soubor  . . . . . . .81
     Figure 4.6: Program, kter pouv uivatelsk knihovny . . . .82
     Figure 4.7: Dva zpsoby sdruovn mnoiny dat  . . . . . . . .87
     Figure 4.8: Jak (a na co) ukazuj ukazatele . . . . . . . . . .99
     Figure 4.9: Pouit ukazatel ke zpstupnn pole struktur . 102
     Figure 4.10: Pouit ukazatel ve funkci  . . . . . . . . . . 104
     Figure 5.1: Klasick C versus rozen C++ . . . . . . . . . 112
     Figure 5.2: st taxonomie hmyzu  . . . . . . . . . . . . . . 113
     Figure 5.3: Vcensobn ddinost . . . . . . . . . . . . . . 133
     Figure 7.1: Vvojov diagram programu . . . . . . . . . . . . 187
     Figure 7.2: Provrka pole temps . . . . . . . . . . . . . . . 197
     Figure 7.3: Provrka funkce min_max . . . . . . . . . . . . . 198
































                                     v 
































































                                    vi 








                               Tabulky


     Table 3.1: Co lze vechno udlat v dialogovm okn  . . . . . .19
     Table 3.2: e myi . . . . . . . . . . . . . . . . . . . . . .20
     Table 3.3: Hork klvesy Turbo C++  . . . . . . . . . . . . . .21
     Table 3.4: Pesuny v editanm okn . . . . . . . . . . . . . .23
     Table 4.1: Tabulka 4.1 : Typy dat, dlka a rozsah . . . . . . .37
     Table 4.2: Tabulka 4.2 : Formtov specifikace funkc sscanf a
                printf . . . . . . . . . . . . . . . . . . . . . . .44
     Table 4.3: Tabulka 4.3 : Znakov escape posloupnosti  . . . . .49
     Table 4.4: Povyovn aritmetickch typ  . . . . . . . . . . .51
     Table 4.5: Tabulka 4.5 : Bitov opertory . . . . . . . . . . .53
     Table 4.6: Tabulka 4.6 : Priorita a asociativita opertor  . .56
     Table 4.7: Tabulka 4.7 : Relan opertory  . . . . . . . . . .60
     Table 4.8: Logick opertory  . . . . . . . . . . . . . . . . .61
     Table 4.9: Deklarace bez definic typ  . . . . . . . . . . . .96
     Table 4.10: Deklarace s typedef . . . . . . . . . . . . . . . .97
     Table 4.11: Peddefinovan oteven streamy v Turbo C++ . . . 107
     Table 5.1: Pstup k tdm . . . . . . . . . . . . . . . . . 126




































                                    vii 








     Obsah  D2, "Pruka knihovny"



     Kapitola 1  Knihovna bاcho programu                          5
        Funkce main  . . . . . . . . . . . . . . . . . . . . . . . . 5
           Argumenty pro funkci main . . . . . . . . . . . . . . . . 5
              Ukzkov program . . . . . . . . . . . . . . . . . . . 6
              Pseudoznaky jako argumenty z pkazovho dku pro
              main . . . . . . . . . . . . . . . . . . . . . . . . . 8
           Uit -p (konvence voln jazyka Pascal)  . . . . . . . . 9
           Hodnota, kterou poskytuje main  . . . . . . . . . . . . . 9
        Uspodn informac v Pruce knihovny . . . . . . . . . . 9
        Nzev funkce . . . . . . . . . . . . . . . . . . . . . . . . 9
        abort  . . . . . . . . . . . . . . . . . . . . . . . . . .  10
        abs  . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
        absread  . . . . . . . . . . . . . . . . . . . . . . . . .  12
        abswrite . . . . . . . . . . . . . . . . . . . . . . . . .  13
        access . . . . . . . . . . . . . . . . . . . . . . . . . .  14
        acos . . . . . . . . . . . . . . . . . . . . . . . . . . .  15
        allocmem . . . . . . . . . . . . . . . . . . . . . . . . .  16
        arc  . . . . . . . . . . . . . . . . . . . . . . . . . . .  17
        arg  . . . . . . . . . . . . . . . . . . . . . . . . . . .  18
        asctime  . . . . . . . . . . . . . . . . . . . . . . . . .  19
        asin . . . . . . . . . . . . . . . . . . . . . . . . . . .  20
        assert . . . . . . . . . . . . . . . . . . . . . . . . . .  21
        atan . . . . . . . . . . . . . . . . . . . . . . . . . . .  22
        atan2  . . . . . . . . . . . . . . . . . . . . . . . . . .  23
        atexit . . . . . . . . . . . . . . . . . . . . . . . . . .  24
        atof . . . . . . . . . . . . . . . . . . . . . . . . . . .  24
        atoi . . . . . . . . . . . . . . . . . . . . . . . . . . .  26
        atol . . . . . . . . . . . . . . . . . . . . . . . . . . .  27
        bar  . . . . . . . . . . . . . . . . . . . . . . . . . . .  28
        bar3d  . . . . . . . . . . . . . . . . . . . . . . . . . .  29
        bcd  . . . . . . . . . . . . . . . . . . . . . . . . . . .  30
        bdos . . . . . . . . . . . . . . . . . . . . . . . . . . .  31
        bioscom  . . . . . . . . . . . . . . . . . . . . . . . . .  32
        biosdisk . . . . . . . . . . . . . . . . . . . . . . . . .  34
        biosequip  . . . . . . . . . . . . . . . . . . . . . . . .  37
        bioskey  . . . . . . . . . . . . . . . . . . . . . . . . .  39
        biosmemory . . . . . . . . . . . . . . . . . . . . . . . .  40
        biosprint  . . . . . . . . . . . . . . . . . . . . . . . .  41
        biostime . . . . . . . . . . . . . . . . . . . . . . . . .  42
        brk  . . . . . . . . . . . . . . . . . . . . . . . . . . .  43
        bsearch  . . . . . . . . . . . . . . . . . . . . . . . . .  44
        cabs . . . . . . . . . . . . . . . . . . . . . . . . . . .  45
        calloc . . . . . . . . . . . . . . . . . . . . . . . . . .  46
        ceil . . . . . . . . . . . . . . . . . . . . . . . . . . .  48
        cgets  . . . . . . . . . . . . . . . . . . . . . . . . . .  48
        chdir  . . . . . . . . . . . . . . . . . . . . . . . . . .  50
        _chmod . . . . . . . . . . . . . . . . . . . . . . . . . .  51
        chmod  . . . . . . . . . . . . . . . . . . . . . . . . . .  53
        chsize . . . . . . . . . . . . . . . . . . . . . . . . . .  54
        circle . . . . . . . . . . . . . . . . . . . . . . . . . .  55


                                     i 


        _clear87 . . . . . . . . . . . . . . . . . . . . . . . . .  56
        cleardevice  . . . . . . . . . . . . . . . . . . . . . . .  57
        clearerr . . . . . . . . . . . . . . . . . . . . . . . . .  58
        clearviewport  . . . . . . . . . . . . . . . . . . . . . .  59
        clock  . . . . . . . . . . . . . . . . . . . . . . . . . .  60
        _close . . . . . . . . . . . . . . . . . . . . . . . . . .  61
        close  . . . . . . . . . . . . . . . . . . . . . . . . . .  62
        closegraph . . . . . . . . . . . . . . . . . . . . . . . .  63
        clreol . . . . . . . . . . . . . . . . . . . . . . . . . .  64
        clrscr . . . . . . . . . . . . . . . . . . . . . . . . . .  65
        complex  . . . . . . . . . . . . . . . . . . . . . . . . .  65
        conj . . . . . . . . . . . . . . . . . . . . . . . . . . .  67
        _control87 . . . . . . . . . . . . . . . . . . . . . . . .  67
        coreleft . . . . . . . . . . . . . . . . . . . . . . . . .  68
        cos  . . . . . . . . . . . . . . . . . . . . . . . . . . .  69
        cosh . . . . . . . . . . . . . . . . . . . . . . . . . . .  70
        coutry . . . . . . . . . . . . . . . . . . . . . . . . . .  71
        cprintf  . . . . . . . . . . . . . . . . . . . . . . . . .  72
        cputs  . . . . . . . . . . . . . . . . . . . . . . . . . .  73
        _creat . . . . . . . . . . . . . . . . . . . . . . . . . .  74
        creat  . . . . . . . . . . . . . . . . . . . . . . . . . .  75
        creatnew . . . . . . . . . . . . . . . . . . . . . . . . .  77
        creattemp  . . . . . . . . . . . . . . . . . . . . . . . .  78
        cscanf . . . . . . . . . . . . . . . . . . . . . . . . . .  79
        ctime  . . . . . . . . . . . . . . . . . . . . . . . . . .  81
        ctrlbrk  . . . . . . . . . . . . . . . . . . . . . . . . .  81
        delay  . . . . . . . . . . . . . . . . . . . . . . . . . .  83
        delline  . . . . . . . . . . . . . . . . . . . . . . . . .  83
        detectgraph  . . . . . . . . . . . . . . . . . . . . . . .  84
        difftime . . . . . . . . . . . . . . . . . . . . . . . . .  88
        disable  . . . . . . . . . . . . . . . . . . . . . . . . .  88
        div  . . . . . . . . . . . . . . . . . . . . . . . . . . .  90
        dosexterr  . . . . . . . . . . . . . . . . . . . . . . . .  90
        dostounix  . . . . . . . . . . . . . . . . . . . . . . . .  91
        drawpoly . . . . . . . . . . . . . . . . . . . . . . . . .  92
        dup  . . . . . . . . . . . . . . . . . . . . . . . . . . .  94
        dup2 . . . . . . . . . . . . . . . . . . . . . . . . . . .  95
        ecvt . . . . . . . . . . . . . . . . . . . . . . . . . . .  97
        ellipse  . . . . . . . . . . . . . . . . . . . . . . . . .  98
        __emit__ . . . . . . . . . . . . . . . . . . . . . . . . .  99
        enable . . . . . . . . . . . . . . . . . . . . . . . . . . 101
        eof  . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
        execl, execle, execlp, execlpe, execv, execve, execvp,
        execvpe  . . . . . . . . . . . . . . . . . . . . . . . . . 103
        _exit  . . . . . . . . . . . . . . . . . . . . . . . . . . 109
        exit . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
        exp  . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
        fabs . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
        farcalloc  . . . . . . . . . . . . . . . . . . . . . . . . 112
        farcoreleft  . . . . . . . . . . . . . . . . . . . . . . . 113
        farfree  . . . . . . . . . . . . . . . . . . . . . . . . . 114
        farheapcheck . . . . . . . . . . . . . . . . . . . . . . . 115
        farheapcheckfree . . . . . . . . . . . . . . . . . . . . . 116
        farheapchecknode . . . . . . . . . . . . . . . . . . . . . 117
        farheapfillfree  . . . . . . . . . . . . . . . . . . . . . 119
        farheapwalk  . . . . . . . . . . . . . . . . . . . . . . . 120
        farmalloc  . . . . . . . . . . . . . . . . . . . . . . . . 121
        farrealloc . . . . . . . . . . . . . . . . . . . . . . . . 122
        fclose . . . . . . . . . . . . . . . . . . . . . . . . . . 123
        fcloseall  . . . . . . . . . . . . . . . . . . . . . . . . 124


                                    ii 


        fcvt . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
        fdopen . . . . . . . . . . . . . . . . . . . . . . . . . . 126
        feof . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
        ferror . . . . . . . . . . . . . . . . . . . . . . . . . . 129
        fflush . . . . . . . . . . . . . . . . . . . . . . . . . . 129
        fgetc  . . . . . . . . . . . . . . . . . . . . . . . . . . 131
        fgetchar . . . . . . . . . . . . . . . . . . . . . . . . . 132
        fgetpos  . . . . . . . . . . . . . . . . . . . . . . . . . 132
        fgets  . . . . . . . . . . . . . . . . . . . . . . . . . . 133
        filelength . . . . . . . . . . . . . . . . . . . . . . . . 134
        fileno . . . . . . . . . . . . . . . . . . . . . . . . . . 135
        fillellipse  . . . . . . . . . . . . . . . . . . . . . . . 136
        fillpoly . . . . . . . . . . . . . . . . . . . . . . . . . 137
        findfirst  . . . . . . . . . . . . . . . . . . . . . . . . 139
        findnext . . . . . . . . . . . . . . . . . . . . . . . . . 140
        floodfill  . . . . . . . . . . . . . . . . . . . . . . . . 142
        floor  . . . . . . . . . . . . . . . . . . . . . . . . . . 143
        flushall . . . . . . . . . . . . . . . . . . . . . . . . . 144
        fmod . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
        fnmerge  . . . . . . . . . . . . . . . . . . . . . . . . . 145
        fnsplit  . . . . . . . . . . . . . . . . . . . . . . . . . 147
        fopen  . . . . . . . . . . . . . . . . . . . . . . . . . . 149
        FP_OFF . . . . . . . . . . . . . . . . . . . . . . . . . . 151
        _fpreset . . . . . . . . . . . . . . . . . . . . . . . . . 151
        fprintf  . . . . . . . . . . . . . . . . . . . . . . . . . 153
        FP_SEG . . . . . . . . . . . . . . . . . . . . . . . . . . 154
        fputc  . . . . . . . . . . . . . . . . . . . . . . . . . . 154
        fputchar . . . . . . . . . . . . . . . . . . . . . . . . . 155
        fputs  . . . . . . . . . . . . . . . . . . . . . . . . . . 156
        fread  . . . . . . . . . . . . . . . . . . . . . . . . . . 156
        free . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
        freemem  . . . . . . . . . . . . . . . . . . . . . . . . . 158
        freopen  . . . . . . . . . . . . . . . . . . . . . . . . . 159
        frexp  . . . . . . . . . . . . . . . . . . . . . . . . . . 160
        fscanf . . . . . . . . . . . . . . . . . . . . . . . . . . 161
        fseek  . . . . . . . . . . . . . . . . . . . . . . . . . . 162
        fsetpos  . . . . . . . . . . . . . . . . . . . . . . . . . 164
        fstat  . . . . . . . . . . . . . . . . . . . . . . . . . . 165
        ftell  . . . . . . . . . . . . . . . . . . . . . . . . . . 167
        ftime  . . . . . . . . . . . . . . . . . . . . . . . . . . 168
        fwrite . . . . . . . . . . . . . . . . . . . . . . . . . . 169
        gcvt . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
        geninterrupt . . . . . . . . . . . . . . . . . . . . . . . 171
        getarccoords . . . . . . . . . . . . . . . . . . . . . . . 172
        getaspectratio . . . . . . . . . . . . . . . . . . . . . . 173
        getbkcolor . . . . . . . . . . . . . . . . . . . . . . . . 175
        getc . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
        getcbrk  . . . . . . . . . . . . . . . . . . . . . . . . . 177
        getch  . . . . . . . . . . . . . . . . . . . . . . . . . . 177
        getchar  . . . . . . . . . . . . . . . . . . . . . . . . . 178
        getche . . . . . . . . . . . . . . . . . . . . . . . . . . 179
        getcolor . . . . . . . . . . . . . . . . . . . . . . . . . 180
        getcurdir  . . . . . . . . . . . . . . . . . . . . . . . . 181
        getcwd . . . . . . . . . . . . . . . . . . . . . . . . . . 181
        getdate  . . . . . . . . . . . . . . . . . . . . . . . . . 182
        getdefaultpalette  . . . . . . . . . . . . . . . . . . . . 183
        getdfree . . . . . . . . . . . . . . . . . . . . . . . . . 184
        getdisk  . . . . . . . . . . . . . . . . . . . . . . . . . 186
        getdrivername  . . . . . . . . . . . . . . . . . . . . . . 186
        getdta . . . . . . . . . . . . . . . . . . . . . . . . . . 187


                                    iii 


        getenv . . . . . . . . . . . . . . . . . . . . . . . . . . 188
        getfat . . . . . . . . . . . . . . . . . . . . . . . . . . 189
        getfatd  . . . . . . . . . . . . . . . . . . . . . . . . . 190
        getfillpattern . . . . . . . . . . . . . . . . . . . . . . 191
        getfillsettings  . . . . . . . . . . . . . . . . . . . . . 193
        getftime . . . . . . . . . . . . . . . . . . . . . . . . . 195
        getgraphmode . . . . . . . . . . . . . . . . . . . . . . . 196
        getimage . . . . . . . . . . . . . . . . . . . . . . . . . 198
        getlinesettings  . . . . . . . . . . . . . . . . . . . . . 200
        getmaxcolor  . . . . . . . . . . . . . . . . . . . . . . . 202
        getmaxmode . . . . . . . . . . . . . . . . . . . . . . . . 203
        getmaxx  . . . . . . . . . . . . . . . . . . . . . . . . . 204
        getmaxy  . . . . . . . . . . . . . . . . . . . . . . . . . 206
        getmodename  . . . . . . . . . . . . . . . . . . . . . . . 207
        getmoderange . . . . . . . . . . . . . . . . . . . . . . . 208
        getpalette . . . . . . . . . . . . . . . . . . . . . . . . 210
        getpalettesize . . . . . . . . . . . . . . . . . . . . . . 211
        getpass  . . . . . . . . . . . . . . . . . . . . . . . . . 212
        getpid . . . . . . . . . . . . . . . . . . . . . . . . . . 213
        getpixel . . . . . . . . . . . . . . . . . . . . . . . . . 214
        getpsp . . . . . . . . . . . . . . . . . . . . . . . . . . 215
        gets . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
        gettext  . . . . . . . . . . . . . . . . . . . . . . . . . 217
        gettextinfo  . . . . . . . . . . . . . . . . . . . . . . . 218
        gettextsettings  . . . . . . . . . . . . . . . . . . . . . 219
        gettime  . . . . . . . . . . . . . . . . . . . . . . . . . 221
        getvect  . . . . . . . . . . . . . . . . . . . . . . . . . 222
        getverify  . . . . . . . . . . . . . . . . . . . . . . . . 223
        getviewsettings  . . . . . . . . . . . . . . . . . . . . . 224
        getw . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
        getx . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
        gety . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
        gmtime . . . . . . . . . . . . . . . . . . . . . . . . . . 229
        gotoxy . . . . . . . . . . . . . . . . . . . . . . . . . . 230
        graphdefaults  . . . . . . . . . . . . . . . . . . . . . . 231
        grapherrormsg  . . . . . . . . . . . . . . . . . . . . . . 232
        _graphfreemem  . . . . . . . . . . . . . . . . . . . . . . 234
        _graphgetmem . . . . . . . . . . . . . . . . . . . . . . . 235
        graphresult  . . . . . . . . . . . . . . . . . . . . . . . 237
        harderr  . . . . . . . . . . . . . . . . . . . . . . . . . 239
        hardresume . . . . . . . . . . . . . . . . . . . . . . . . 242
        hardretn . . . . . . . . . . . . . . . . . . . . . . . . . 244
        heapcheck  . . . . . . . . . . . . . . . . . . . . . . . . 246
        heapcheckfree  . . . . . . . . . . . . . . . . . . . . . . 247
        heapchecknode  . . . . . . . . . . . . . . . . . . . . . . 249
        heapfillfree . . . . . . . . . . . . . . . . . . . . . . . 250
        heapwalk . . . . . . . . . . . . . . . . . . . . . . . . . 251
        highvideo  . . . . . . . . . . . . . . . . . . . . . . . . 253
        hypot  . . . . . . . . . . . . . . . . . . . . . . . . . . 253
        imag . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
        imagesize  . . . . . . . . . . . . . . . . . . . . . . . . 255
        initgraph  . . . . . . . . . . . . . . . . . . . . . . . . 257
        inport . . . . . . . . . . . . . . . . . . . . . . . . . . 261
        inportb  . . . . . . . . . . . . . . . . . . . . . . . . . 262
        insline  . . . . . . . . . . . . . . . . . . . . . . . . . 263
        installuserdriver  . . . . . . . . . . . . . . . . . . . . 264
        installuserfont  . . . . . . . . . . . . . . . . . . . . . 266
        int86  . . . . . . . . . . . . . . . . . . . . . . . . . . 267
        int86x . . . . . . . . . . . . . . . . . . . . . . . . . . 269
        intdos . . . . . . . . . . . . . . . . . . . . . . . . . . 270


                                    iv 


        intdosx  . . . . . . . . . . . . . . . . . . . . . . . . . 271
        intr . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
        ioctl  . . . . . . . . . . . . . . . . . . . . . . . . . . 274
        isalnum  . . . . . . . . . . . . . . . . . . . . . . . . . 276
        isalpha  . . . . . . . . . . . . . . . . . . . . . . . . . 276
        isascii  . . . . . . . . . . . . . . . . . . . . . . . . . 277
        isatty . . . . . . . . . . . . . . . . . . . . . . . . . . 278
        iscntrl  . . . . . . . . . . . . . . . . . . . . . . . . . 279
        isdigit  . . . . . . . . . . . . . . . . . . . . . . . . . 279
        isgraph  . . . . . . . . . . . . . . . . . . . . . . . . . 280
        islower  . . . . . . . . . . . . . . . . . . . . . . . . . 281
        isprint  . . . . . . . . . . . . . . . . . . . . . . . . . 282
        ispunct  . . . . . . . . . . . . . . . . . . . . . . . . . 282
        isspace  . . . . . . . . . . . . . . . . . . . . . . . . . 283
        isupper  . . . . . . . . . . . . . . . . . . . . . . . . . 284
        isxdigit . . . . . . . . . . . . . . . . . . . . . . . . . 284
        itoa . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
        kbhit  . . . . . . . . . . . . . . . . . . . . . . . . . . 286
        keep . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
        labs . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
        ldexp  . . . . . . . . . . . . . . . . . . . . . . . . . . 289
        ldiv . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
        lfind  . . . . . . . . . . . . . . . . . . . . . . . . . . 290
        line . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
        linerel  . . . . . . . . . . . . . . . . . . . . . . . . . 293
        lineto . . . . . . . . . . . . . . . . . . . . . . . . . . 294
        localeconv . . . . . . . . . . . . . . . . . . . . . . . . 295
        localtime  . . . . . . . . . . . . . . . . . . . . . . . . 296
        lock . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
        log  . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
        log10  . . . . . . . . . . . . . . . . . . . . . . . . . . 299
        longjmp  . . . . . . . . . . . . . . . . . . . . . . . . . 300
        lowvideo . . . . . . . . . . . . . . . . . . . . . . . . . 302
        _lrotl . . . . . . . . . . . . . . . . . . . . . . . . . . 303
        _lrotr . . . . . . . . . . . . . . . . . . . . . . . . . . 303
        lsearch  . . . . . . . . . . . . . . . . . . . . . . . . . 304
        lseek  . . . . . . . . . . . . . . . . . . . . . . . . . . 306
        ltoa . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
        malloc . . . . . . . . . . . . . . . . . . . . . . . . . . 308
        matherr  . . . . . . . . . . . . . . . . . . . . . . . . . 309
        max  . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
        memccpy  . . . . . . . . . . . . . . . . . . . . . . . . . 312
        memchr . . . . . . . . . . . . . . . . . . . . . . . . . . 313
        memcmp . . . . . . . . . . . . . . . . . . . . . . . . . . 314
        memcpy . . . . . . . . . . . . . . . . . . . . . . . . . . 315
        memicmp  . . . . . . . . . . . . . . . . . . . . . . . . . 316
        memmove  . . . . . . . . . . . . . . . . . . . . . . . . . 317
        memset . . . . . . . . . . . . . . . . . . . . . . . . . . 318
        min  . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
        mkdir  . . . . . . . . . . . . . . . . . . . . . . . . . . 319
        MK_FP  . . . . . . . . . . . . . . . . . . . . . . . . . . 320
        mktemp . . . . . . . . . . . . . . . . . . . . . . . . . . 320
        mktime . . . . . . . . . . . . . . . . . . . . . . . . . . 321
        modf . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
        movedata . . . . . . . . . . . . . . . . . . . . . . . . . 323
        moverel  . . . . . . . . . . . . . . . . . . . . . . . . . 324
        movetext . . . . . . . . . . . . . . . . . . . . . . . . . 325
        moveto . . . . . . . . . . . . . . . . . . . . . . . . . . 326
        movmem . . . . . . . . . . . . . . . . . . . . . . . . . . 327
        norm . . . . . . . . . . . . . . . . . . . . . . . . . . . 328


                                     v 


        normvideo  . . . . . . . . . . . . . . . . . . . . . . . . 329
        nosound  . . . . . . . . . . . . . . . . . . . . . . . . . 330
        _open  . . . . . . . . . . . . . . . . . . . . . . . . . . 330
        open . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
        outport  . . . . . . . . . . . . . . . . . . . . . . . . . 334
        outportb . . . . . . . . . . . . . . . . . . . . . . . . . 334
        outtext  . . . . . . . . . . . . . . . . . . . . . . . . . 335
        outtextxy  . . . . . . . . . . . . . . . . . . . . . . . . 337
        _OvrInitEms  . . . . . . . . . . . . . . . . . . . . . . . 338
        _OvrInitExt  . . . . . . . . . . . . . . . . . . . . . . . 339
        parsfnm  . . . . . . . . . . . . . . . . . . . . . . . . . 339
        peek . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
        peekb  . . . . . . . . . . . . . . . . . . . . . . . . . . 342
        perror . . . . . . . . . . . . . . . . . . . . . . . . . . 343
        pieslice . . . . . . . . . . . . . . . . . . . . . . . . . 344
        poke . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
        pokeb  . . . . . . . . . . . . . . . . . . . . . . . . . . 346
        polar  . . . . . . . . . . . . . . . . . . . . . . . . . . 347
        poly . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
        pow  . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
        pow10  . . . . . . . . . . . . . . . . . . . . . . . . . . 349
        printf . . . . . . . . . . . . . . . . . . . . . . . . . . 350
        putc . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
        putch  . . . . . . . . . . . . . . . . . . . . . . . . . . 358
        putchar  . . . . . . . . . . . . . . . . . . . . . . . . . 358
        putenv . . . . . . . . . . . . . . . . . . . . . . . . . . 360
        putimage . . . . . . . . . . . . . . . . . . . . . . . . . 361
        putpixel . . . . . . . . . . . . . . . . . . . . . . . . . 363
        puts . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
        puttext  . . . . . . . . . . . . . . . . . . . . . . . . . 365
        putw . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
        qsort  . . . . . . . . . . . . . . . . . . . . . . . . . . 367
        raise  . . . . . . . . . . . . . . . . . . . . . . . . . . 368
        rand . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
        randbrd  . . . . . . . . . . . . . . . . . . . . . . . . . 370
        randbwr  . . . . . . . . . . . . . . . . . . . . . . . . . 371
        random . . . . . . . . . . . . . . . . . . . . . . . . . . 373
        randomize  . . . . . . . . . . . . . . . . . . . . . . . . 374
        _read  . . . . . . . . . . . . . . . . . . . . . . . . . . 374
        read . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
        real . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
        realloc  . . . . . . . . . . . . . . . . . . . . . . . . . 378
        rectangle  . . . . . . . . . . . . . . . . . . . . . . . . 379
        registerbgidriver  . . . . . . . . . . . . . . . . . . . . 380
        registerbgifont  . . . . . . . . . . . . . . . . . . . . . 382
        remove . . . . . . . . . . . . . . . . . . . . . . . . . . 383
        rename . . . . . . . . . . . . . . . . . . . . . . . . . . 384
        restorecrtmode . . . . . . . . . . . . . . . . . . . . . . 385
        rewind . . . . . . . . . . . . . . . . . . . . . . . . . . 387
        rmdir  . . . . . . . . . . . . . . . . . . . . . . . . . . 387
        _rotl  . . . . . . . . . . . . . . . . . . . . . . . . . . 389
        _rotr  . . . . . . . . . . . . . . . . . . . . . . . . . . 389
        sbrk . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
        scanf  . . . . . . . . . . . . . . . . . . . . . . . . . . 391
        searchpath . . . . . . . . . . . . . . . . . . . . . . . . 399
        sector . . . . . . . . . . . . . . . . . . . . . . . . . . 400
        segread  . . . . . . . . . . . . . . . . . . . . . . . . . 401
        setactivepage  . . . . . . . . . . . . . . . . . . . . . . 402
        setallpalette  . . . . . . . . . . . . . . . . . . . . . . 404
        setaspectratio . . . . . . . . . . . . . . . . . . . . . . 406


                                    vi 


        setbkcolor . . . . . . . . . . . . . . . . . . . . . . . . 407
        setblock . . . . . . . . . . . . . . . . . . . . . . . . . 409
        setbuf . . . . . . . . . . . . . . . . . . . . . . . . . . 410
        setcbrk  . . . . . . . . . . . . . . . . . . . . . . . . . 412
        setcolor . . . . . . . . . . . . . . . . . . . . . . . . . 412
        _setcursortype . . . . . . . . . . . . . . . . . . . . . . 414
        setdate  . . . . . . . . . . . . . . . . . . . . . . . . . 415
        setdisk  . . . . . . . . . . . . . . . . . . . . . . . . . 416
        setdta . . . . . . . . . . . . . . . . . . . . . . . . . . 417
        setfillpattern . . . . . . . . . . . . . . . . . . . . . . 418
        setfillstyle . . . . . . . . . . . . . . . . . . . . . . . 419
        setftime . . . . . . . . . . . . . . . . . . . . . . . . . 421
        setgraphbufsize  . . . . . . . . . . . . . . . . . . . . . 423
        setgraphmode . . . . . . . . . . . . . . . . . . . . . . . 424
        setjmp . . . . . . . . . . . . . . . . . . . . . . . . . . 426
        setlinestyle . . . . . . . . . . . . . . . . . . . . . . . 427
        setlocale  . . . . . . . . . . . . . . . . . . . . . . . . 430
        setmem . . . . . . . . . . . . . . . . . . . . . . . . . . 430
        setmode  . . . . . . . . . . . . . . . . . . . . . . . . . 431
        setpalette . . . . . . . . . . . . . . . . . . . . . . . . 432
        setrgbpalette  . . . . . . . . . . . . . . . . . . . . . . 434
        settextjustify . . . . . . . . . . . . . . . . . . . . . . 435
        settextstyle . . . . . . . . . . . . . . . . . . . . . . . 438
        settime  . . . . . . . . . . . . . . . . . . . . . . . . . 440
        setusercharsize  . . . . . . . . . . . . . . . . . . . . . 441
        setvbuf  . . . . . . . . . . . . . . . . . . . . . . . . . 443
        setvect  . . . . . . . . . . . . . . . . . . . . . . . . . 445
        setverify  . . . . . . . . . . . . . . . . . . . . . . . . 446
        setviewport  . . . . . . . . . . . . . . . . . . . . . . . 447
        setvisualpage  . . . . . . . . . . . . . . . . . . . . . . 448
        setwritemode . . . . . . . . . . . . . . . . . . . . . . . 450
        signal . . . . . . . . . . . . . . . . . . . . . . . . . . 451
        sin  . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
        sinh . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
        sleep  . . . . . . . . . . . . . . . . . . . . . . . . . . 457
        sopen  . . . . . . . . . . . . . . . . . . . . . . . . . . 457
        sound  . . . . . . . . . . . . . . . . . . . . . . . . . . 460
        spawnl, spawnle, spawnlp, spawnlpe, spawnv, spawnve, spawnvp a
        spavnvpe . . . . . . . . . . . . . . . . . . . . . . . . . 460
        sprintf  . . . . . . . . . . . . . . . . . . . . . . . . . 464
        sqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
        srand  . . . . . . . . . . . . . . . . . . . . . . . . . . 466
        sscanf . . . . . . . . . . . . . . . . . . . . . . . . . . 466
        stat . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
        _status87  . . . . . . . . . . . . . . . . . . . . . . . . 469
        stime  . . . . . . . . . . . . . . . . . . . . . . . . . . 470
        stpcpy . . . . . . . . . . . . . . . . . . . . . . . . . . 471
        strcat . . . . . . . . . . . . . . . . . . . . . . . . . . 472
        strchr . . . . . . . . . . . . . . . . . . . . . . . . . . 472
        strcmp . . . . . . . . . . . . . . . . . . . . . . . . . . 473
        strcmpi  . . . . . . . . . . . . . . . . . . . . . . . . . 474
        strcoll  . . . . . . . . . . . . . . . . . . . . . . . . . 475
        strcpy . . . . . . . . . . . . . . . . . . . . . . . . . . 476
        strcspn  . . . . . . . . . . . . . . . . . . . . . . . . . 477
        strdup . . . . . . . . . . . . . . . . . . . . . . . . . . 477
        _strerror  . . . . . . . . . . . . . . . . . . . . . . . . 478
        strerror . . . . . . . . . . . . . . . . . . . . . . . . . 479
        strftime . . . . . . . . . . . . . . . . . . . . . . . . . 480
        stricmp  . . . . . . . . . . . . . . . . . . . . . . . . . 481
        strlen . . . . . . . . . . . . . . . . . . . . . . . . . . 482


                                    vii 


        strlwr . . . . . . . . . . . . . . . . . . . . . . . . . . 483
        strncat  . . . . . . . . . . . . . . . . . . . . . . . . . 483
        strncmp  . . . . . . . . . . . . . . . . . . . . . . . . . 484
        strncmpi . . . . . . . . . . . . . . . . . . . . . . . . . 485
        strncpy  . . . . . . . . . . . . . . . . . . . . . . . . . 486
        strnicmp . . . . . . . . . . . . . . . . . . . . . . . . . 487
        strnset  . . . . . . . . . . . . . . . . . . . . . . . . . 488
        strpbrk  . . . . . . . . . . . . . . . . . . . . . . . . . 488
        strrchr  . . . . . . . . . . . . . . . . . . . . . . . . . 489
        strrev . . . . . . . . . . . . . . . . . . . . . . . . . . 490
        strset . . . . . . . . . . . . . . . . . . . . . . . . . . 491
        strspn . . . . . . . . . . . . . . . . . . . . . . . . . . 491
        strstr . . . . . . . . . . . . . . . . . . . . . . . . . . 492
        strtod . . . . . . . . . . . . . . . . . . . . . . . . . . 493
        strtok . . . . . . . . . . . . . . . . . . . . . . . . . . 494
        strtol . . . . . . . . . . . . . . . . . . . . . . . . . . 495
        strtoul  . . . . . . . . . . . . . . . . . . . . . . . . . 496
        strupr . . . . . . . . . . . . . . . . . . . . . . . . . . 497
        strxfrm  . . . . . . . . . . . . . . . . . . . . . . . . . 498
        swab . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
        system . . . . . . . . . . . . . . . . . . . . . . . . . . 499
        tan  . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
        tanh . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
        tell . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
        textattr . . . . . . . . . . . . . . . . . . . . . . . . . 502
        textbackground . . . . . . . . . . . . . . . . . . . . . . 504
        textcolor  . . . . . . . . . . . . . . . . . . . . . . . . 505
        textheight . . . . . . . . . . . . . . . . . . . . . . . . 507
        textmode . . . . . . . . . . . . . . . . . . . . . . . . . 508
        textwidth  . . . . . . . . . . . . . . . . . . . . . . . . 510
        time . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
        tmpfile  . . . . . . . . . . . . . . . . . . . . . . . . . 512
        tmpnam . . . . . . . . . . . . . . . . . . . . . . . . . . 512
        toascii  . . . . . . . . . . . . . . . . . . . . . . . . . 513
        _tolower . . . . . . . . . . . . . . . . . . . . . . . . . 514
        tolower  . . . . . . . . . . . . . . . . . . . . . . . . . 515
        _toupper . . . . . . . . . . . . . . . . . . . . . . . . . 516
        toupper  . . . . . . . . . . . . . . . . . . . . . . . . . 516
        tzset  . . . . . . . . . . . . . . . . . . . . . . . . . . 517
        ultoa  . . . . . . . . . . . . . . . . . . . . . . . . . . 519
        ungetc . . . . . . . . . . . . . . . . . . . . . . . . . . 519
        ungetch  . . . . . . . . . . . . . . . . . . . . . . . . . 520
        unixtodos  . . . . . . . . . . . . . . . . . . . . . . . . 521
        unlink . . . . . . . . . . . . . . . . . . . . . . . . . . 522
        unlock . . . . . . . . . . . . . . . . . . . . . . . . . . 523
        va_arg, va_end, va_start . . . . . . . . . . . . . . . . . 525
        vfprintf . . . . . . . . . . . . . . . . . . . . . . . . . 527
        vfscanf  . . . . . . . . . . . . . . . . . . . . . . . . . 528
        vprintf  . . . . . . . . . . . . . . . . . . . . . . . . . 529
        vscanf . . . . . . . . . . . . . . . . . . . . . . . . . . 530
        vsprintf . . . . . . . . . . . . . . . . . . . . . . . . . 532
        vsscanf  . . . . . . . . . . . . . . . . . . . . . . . . . 533
        wherex . . . . . . . . . . . . . . . . . . . . . . . . . . 534
        wherey . . . . . . . . . . . . . . . . . . . . . . . . . . 535
        window . . . . . . . . . . . . . . . . . . . . . . . . . . 535
        _write . . . . . . . . . . . . . . . . . . . . . . . . . . 536
        write  . . . . . . . . . . . . . . . . . . . . . . . . . . 538

     Kapitola 2  Globln promnn                                 539
        _8087  . . . . . . . . . . . . . . . . . . . . . . . . . . 539


                                   viii 


        _argc  . . . . . . . . . . . . . . . . . . . . . . . . . . 539
        _argv  . . . . . . . . . . . . . . . . . . . . . . . . . . 540
        _ctype . . . . . . . . . . . . . . . . . . . . . . . . . . 540
        daylight . . . . . . . . . . . . . . . . . . . . . . . . . 540
        directvideo  . . . . . . . . . . . . . . . . . . . . . . . 540
        environ  . . . . . . . . . . . . . . . . . . . . . . . . . 541
        errno, _doserrno, sys_errlist, sys_nerr  . . . . . . . . . 542
        _fmode . . . . . . . . . . . . . . . . . . . . . . . . . . 544
        _heaplen . . . . . . . . . . . . . . . . . . . . . . . . . 545
        _openfd  . . . . . . . . . . . . . . . . . . . . . . . . . 546
        _osmajor, _osminor . . . . . . . . . . . . . . . . . . . . 546
        _psp . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
        _stklen  . . . . . . . . . . . . . . . . . . . . . . . . . 547
        timezone . . . . . . . . . . . . . . . . . . . . . . . . . 548
        tzname . . . . . . . . . . . . . . . . . . . . . . . . . . 548
        version  . . . . . . . . . . . . . . . . . . . . . . . . . 549
        _wscroll . . . . . . . . . . . . . . . . . . . . . . . . . 549













































                                    ix 
































































                                     x 








                               Tabulky


     Table 1.1: Tabulka 1.1 Konstanty pro funkci detectgraph . . . .85
     Table 1.2: Tabulka 1.2 Informace o grafickch dicch
                programech . . . . . . . . . . . . . . . . . . . . .86
     Table 1.3: Tabulka 1.3 Konstanty dicch program grafiky  . 258
     Table 1.4: Tabulka 1.4 Barevn palety . . . . . . . . . . . . 259
     Table 1.5: Tabulka 1.5 Grafick reimy  . . . . . . . . . . . 260















































                                    xi 








     Obsah  D3, "Pruka programtora"



     Kapitola 1  Lexikln pravidla                                  7
        Przdn msto  . . . . . . . . . . . . . . . . . . . . . . . 7
           Spojovn dk uitm \  . . . . . . . . . . . . . . . . 8
           Komente . . . . . . . . . . . . . . . . . . . . . . . . 8
              Komente v jazyku C . . . . . . . . . . . . . . . . . 8
              Vnoen komente  . . . . . . . . . . . . . . . . . . 9
              Komente v jazyku C++ . . . . . . . . . . . . . . . . 9
              Oddlovae koment a przdn msto . . . . . . . . . 9
        Lexikln prvky  . . . . . . . . . . . . . . . . . . . . .  10
           Klov slova . . . . . . . . . . . . . . . . . . . . .  10
           Identifiktory  . . . . . . . . . . . . . . . . . . . .  11
              Omezen pro nzvy a dlky  . . . . . . . . . . . . .  12
              Rozliovn velkch a malch psmen v
              identifiktorech . . . . . . . . . . . . . . . . . .  12
              Jednoznanost a obor platnosti . . . . . . . . . . .  12
           Konstanty . . . . . . . . . . . . . . . . . . . . . . .  13
              Celoseln konstanty  . . . . . . . . . . . . . . .  14
              Znakov konstanty  . . . . . . . . . . . . . . . . .  16
              Konstanty s pohyblivou dovou tekou  . . . . . . .  18
              etzcov literly . . . . . . . . . . . . . . . . .  20
              Vnitn zobrazen konstant . . . . . . . . . . . . .  21
              Konstantn vrazy  . . . . . . . . . . . . . . . . .  24
        Popisy opertor . . . . . . . . . . . . . . . . . . . . .  25
           Unrn opertory  . . . . . . . . . . . . . . . . . . .  26
           Binrn opertory . . . . . . . . . . . . . . . . . . .  26
              Aditivn opertory . . . . . . . . . . . . . . . . .  26
              Multiplikativn opertory  . . . . . . . . . . . . .  26
              Opertory posunu . . . . . . . . . . . . . . . . . .  26
              Bitov opertory . . . . . . . . . . . . . . . . . .  26
              Logick opertory  . . . . . . . . . . . . . . . . .  26
              Opertory dosazen . . . . . . . . . . . . . . . . .  27
              Relan opertory  . . . . . . . . . . . . . . . . .  27
              Opertory rovnosti . . . . . . . . . . . . . . . . .  27
              Opertory pro vbr sloky . . . . . . . . . . . . .  27
              Opertory pro leny td . . . . . . . . . . . . . .  27
              Podmnn opertor . . . . . . . . . . . . . . . . .  27
              Opertor rka . . . . . . . . . . . . . . . . . . .  27
           Interpunkn znaky  . . . . . . . . . . . . . . . . . .  27
              Hranat zvorky  . . . . . . . . . . . . . . . . . .  28
              Kulat zvorky . . . . . . . . . . . . . . . . . . .  28
              Sloen zvorky  . . . . . . . . . . . . . . . . . .  28
              rka  . . . . . . . . . . . . . . . . . . . . . . .  28
              Stednk . . . . . . . . . . . . . . . . . . . . . .  29
              Dvojteka  . . . . . . . . . . . . . . . . . . . . .  29
              Vpustka . . . . . . . . . . . . . . . . . . . . . .  29
              Hvzdika (deklarace ukazatele)  . . . . . . . . . .  30
              Znamnko rovnosti (inicializtor)  . . . . . . . . .  30
              Znaka libry (direktiva preprocesoru)  . . . . . . .  30
        Deklarace  . . . . . . . . . . . . . . . . . . . . . . . .  31
           Objekty . . . . . . . . . . . . . . . . . . . . . . . .  31


                                     i 


           L-hodnoty . . . . . . . . . . . . . . . . . . . . . . .  32
              R-hodnoty  . . . . . . . . . . . . . . . . . . . . .  32
           Typy a pam؟ov tdy . . . . . . . . . . . . . . . . .  32
           Obor  . . . . . . . . . . . . . . . . . . . . . . . . .  33
              Obor blok  . . . . . . . . . . . . . . . . . . . . .  33
              Obor funkce  . . . . . . . . . . . . . . . . . . . .  33
              Obor prototyp funkce . . . . . . . . . . . . . . . .  33
              Obor soubor  . . . . . . . . . . . . . . . . . . . .  33
              Obor tda (C++) . . . . . . . . . . . . . . . . . .  33
              Obor a prostory pro nzvy  . . . . . . . . . . . . .  34
           Viditelnost . . . . . . . . . . . . . . . . . . . . . .  34
           Trvn  . . . . . . . . . . . . . . . . . . . . . . . .  35
              Statick trvn  . . . . . . . . . . . . . . . . . .  35
              Lokln trvn . . . . . . . . . . . . . . . . . . .  35
              Dynamick trvn . . . . . . . . . . . . . . . . . .  36
           Pekladov unity  . . . . . . . . . . . . . . . . . . .  36
           Spojovn . . . . . . . . . . . . . . . . . . . . . . .  36
              Uhlazovn nzv . . . . . . . . . . . . . . . . . .  37
        Deklaran syntax  . . . . . . . . . . . . . . . . . . . .  38
           Pokusn definice  . . . . . . . . . . . . . . . . . . .  38
           Mon deklarace . . . . . . . . . . . . . . . . . . . .  39
           Extern deklarace a definice  . . . . . . . . . . . . .  42
           Specifiktory typu  . . . . . . . . . . . . . . . . . .  45
           Rozdlen typ  . . . . . . . . . . . . . . . . . . . .  45
              Typ void . . . . . . . . . . . . . . . . . . . . . .  46
           Fundamentln typy  . . . . . . . . . . . . . . . . . .  47
              Celoseln typy . . . . . . . . . . . . . . . . . .  47
              Typy s pohyblivou dovou tekou . . . . . . . . . .  48
              Standardn pevody . . . . . . . . . . . . . . . . .  48
              Speciln pevody typ char, int a enum  . . . . . .  49
           Inicializace  . . . . . . . . . . . . . . . . . . . . .  49
              Pole, struktury a uniony . . . . . . . . . . . . . .  50
           Jednoduch deklarace  . . . . . . . . . . . . . . . . .  51
           Specifiktory pam؟ov tdy  . . . . . . . . . . . . .  52
              Pouit specifiktoru pam؟ov tdy auto  . . . . .  52
              Pouit specifiktoru pam؟ov tdy extern  . . . .  52
              Pouit specifiktoru pam؟ov tdy register  . . .  52
              Pouit specifiktoru pam؟ov tdy static  . . . .  52
              Pouit specifiktoru pam؟ov tdy typedef . . . .  53
           Modifiktory  . . . . . . . . . . . . . . . . . . . . .  53
              Modifiktor const  . . . . . . . . . . . . . . . . .  54
              Modifiktor funkce peruen . . . . . . . . . . . .  56
              Modifiktor volatile . . . . . . . . . . . . . . . .  56
              Modifiktory cdecl a pascal  . . . . . . . . . . . .  57
              Modifiktory ukazatel . . . . . . . . . . . . . . .  58
              Modifiktory typu funkce . . . . . . . . . . . . . .  58
           Sloit deklarace a deklartory . . . . . . . . . . . .  59
        Ukazatele  . . . . . . . . . . . . . . . . . . . . . . . .  60
           Ukazatele na objekty  . . . . . . . . . . . . . . . . .  61
           Ukazatele na funkce . . . . . . . . . . . . . . . . . .  61
           Deklarace ukazatel . . . . . . . . . . . . . . . . . .  62
           Ukazatele a konstanty . . . . . . . . . . . . . . . . .  63
           Aritmetika s ukazateli  . . . . . . . . . . . . . . . .  64
           Pevody ukazatel . . . . . . . . . . . . . . . . . . .  65
           Odkazov deklarace v C++  . . . . . . . . . . . . . . .  65

     Kapitola 2  Pravidla struktury frz                           67
        Pole . . . . . . . . . . . . . . . . . . . . . . . . . . .  67
        Funkce . . . . . . . . . . . . . . . . . . . . . . . . . .  68
           Deklarace a definice  . . . . . . . . . . . . . . . . .  68


                                    ii 


           Deklarace a prototypy . . . . . . . . . . . . . . . . .  68
           Definice  . . . . . . . . . . . . . . . . . . . . . . .  70
           Deklarace formlnch parametr  . . . . . . . . . . . .  71
           Voln funkc a pevody argument . . . . . . . . . . .  72
        Struktury  . . . . . . . . . . . . . . . . . . . . . . . .  72
           Neoznaen struktury a definice typ typedef  . . . . .  73
           Deklarace len struktury . . . . . . . . . . . . . . .  73
           Struktury a funkce  . . . . . . . . . . . . . . . . . .  74
           Pstup do len struktury  . . . . . . . . . . . . . .  74
           Zarovnn slov ve strukturch . . . . . . . . . . . . .  75
           Prostory pro nzvy struktur . . . . . . . . . . . . . .  76
           Nepln deklarace . . . . . . . . . . . . . . . . . . .  77
           Bitov poloky  . . . . . . . . . . . . . . . . . . . .  77
        Uniony . . . . . . . . . . . . . . . . . . . . . . . . . .  78
           Deklarace unionu  . . . . . . . . . . . . . . . . . . .  79
        Vty  . . . . . . . . . . . . . . . . . . . . . . . . . .  79
        Vrazy . . . . . . . . . . . . . . . . . . . . . . . . . .  81
           Vrazy a C++  . . . . . . . . . . . . . . . . . . . . .  83
           Poad vyhodnocovn  . . . . . . . . . . . . . . . . .  84
           Chyby a peplnn . . . . . . . . . . . . . . . . . . .  84
        Smantika opertor  . . . . . . . . . . . . . . . . . . .  85
           Pponov a pedponov opertory  . . . . . . . . . . .  85
              Opertor indexovn pole []  . . . . . . . . . . . .  85
              Opertory voln funkc () . . . . . . . . . . . . .  85
              Opertor lenu struktury/unionu .(teka) . . . . . .  86
              Opertor ukazatele na strukturu/union -> . . . . . .  86
              Pponov opertor inkrementace ++ . . . . . . . . .  86
              Pponov opertor dekrementace -- . . . . . . . . .  86
           Opertory inkrementace a dekrementace . . . . . . . . .  87
              Pedponov opertor inkrementace . . . . . . . . . .  87
              Pedponov opertor dekrementace . . . . . . . . . .  87
           Unrn opertory  . . . . . . . . . . . . . . . . . . .  87
              Opertor adresovn &  . . . . . . . . . . . . . . .  87
                                            *
              Opertor nepmho adresovn    . . . . . . . . . .  88
              Opertor unrn plus + . . . . . . . . . . . . . . .  88
              Opertor unrn minus -  . . . . . . . . . . . . . .  88
              Opertor bitovho doplku ~  . . . . . . . . . . . .  89
              Opertor logick negace !  . . . . . . . . . . . . .  89
           Opertor sizeof . . . . . . . . . . . . . . . . . . . .  89
           Multiplikativn opertory . . . . . . . . . . . . . . .  90
           Aditivn opertory  . . . . . . . . . . . . . . . . . .  90
              Opertor stn + . . . . . . . . . . . . . . . . .  90
              Opertor odtn -  . . . . . . . . . . . . . . . .  91
           Opertory bitovch posun . . . . . . . . . . . . . . .  91
              Opertory bitovch posun (<< a >>)  . . . . . . . .  91
           Relan opertory . . . . . . . . . . . . . . . . . . .  92
              Opertor men ne < . . . . . . . . . . . . . . . .  92
              Opertor vt ne > . . . . . . . . . . . . . . . .  92
              Opertor men nebo rovno <= . . . . . . . . . . . .  93
              Opertor vt nebo rovno >= . . . . . . . . . . . .  93
           Opertory rovnosti  . . . . . . . . . . . . . . . . . .  93
              Opertor rovn se == . . . . . . . . . . . . . . . .  93
              Opertor nerovnosti != . . . . . . . . . . . . . . .  94
           Opertor bitov AND & . . . . . . . . . . . . . . . . .  94
           Opertor bitov exklusivn OR ^ . . . . . . . . . . . .  94
           Opertor bitov inklusivn OR | . . . . . . . . . . . .  95
           Opertor logick AND && . . . . . . . . . . . . . . . .  95
           Opertor logick OR ||  . . . . . . . . . . . . . . . .  95
           Podmnn opertor ?: . . . . . . . . . . . . . . . . .  95


                                    iii 


           Opertory dosazovn  . . . . . . . . . . . . . . . . .  96
              Jednoduch opertor dosazen = . . . . . . . . . . .  97
              Sloen opertory dosazen . . . . . . . . . . . . .  97
           Opertor rka  . . . . . . . . . . . . . . . . . . . .  97
           Opertory specifick pro C++  . . . . . . . . . . . . .  98
        Pkazy  . . . . . . . . . . . . . . . . . . . . . . . . .  99
        Bloky  . . . . . . . . . . . . . . . . . . . . . . . . . . 101
           Pkazy s nvtm  . . . . . . . . . . . . . . . . . . 101
           Vrazov pkazy  . . . . . . . . . . . . . . . . . . . 101
           Vbrov pkazy  . . . . . . . . . . . . . . . . . . . 101
              Pkazy if . . . . . . . . . . . . . . . . . . . . . 102
              Pkazy switch . . . . . . . . . . . . . . . . . . . 102
           Iteran pkazy  . . . . . . . . . . . . . . . . . . . 103
              Pkazy while  . . . . . . . . . . . . . . . . . . . 103
              Pkazy do while . . . . . . . . . . . . . . . . . . 104
              Pkazy for  . . . . . . . . . . . . . . . . . . . . 104
           Pkazy skoku . . . . . . . . . . . . . . . . . . . . . 105
              Pkazy break  . . . . . . . . . . . . . . . . . . . 105
              Pkazy continue . . . . . . . . . . . . . . . . . . 105
              Pkazy goto . . . . . . . . . . . . . . . . . . . . 105
              Pkazy return . . . . . . . . . . . . . . . . . . . 105

     Kapitola 3  C++                                               107
              Odkazovn . . . . . . . . . . . . . . . . . . . . . 107
           Jednoduch odkazy . . . . . . . . . . . . . . . . . . . 107
           Argumenty v odkazech  . . . . . . . . . . . . . . . . . 107
        Opertor pstupu v oboru  . . . . . . . . . . . . . . . . 109
        Opertory new a delete . . . . . . . . . . . . . . . . . . 110
           Oetovn chyb . . . . . . . . . . . . . . . . . . . . 110
           Pole a opertor new . . . . . . . . . . . . . . . . . . 111
           ::operator new  . . . . . . . . . . . . . . . . . . . . 111
           Inicializtory s opertorem new . . . . . . . . . . . . 111
        Tdy  . . . . . . . . . . . . . . . . . . . . . . . . . . 111
           Nzvy td  . . . . . . . . . . . . . . . . . . . . . . 112
           Typy td . . . . . . . . . . . . . . . . . . . . . . . 112
           Obor nzvu tdy  . . . . . . . . . . . . . . . . . . . 112
           Objekty td  . . . . . . . . . . . . . . . . . . . . . 113
           Seznam len tdy  . . . . . . . . . . . . . . . . . . 113
           lensk funkce  . . . . . . . . . . . . . . . . . . . . 114
           Klov slovo this  . . . . . . . . . . . . . . . . . . 114
           Funkce inline . . . . . . . . . . . . . . . . . . . . . 114
           Statick leny  . . . . . . . . . . . . . . . . . . . . 115
           Obor len  . . . . . . . . . . . . . . . . . . . . . . 116
              zen pstupu do len . . . . . . . . . . . . . . 117
           Pstup do bzovch a odvozench td . . . . . . . . . 118
        Virtuln bzov tdy . . . . . . . . . . . . . . . . . . 120
        Sptelen funkce td . . . . . . . . . . . . . . . . . . 121
        Konstruktory a destruktory . . . . . . . . . . . . . . . . 122
        Konstruktory . . . . . . . . . . . . . . . . . . . . . . . 123
           Poten konstruktor . . . . . . . . . . . . . . . . . 124
           Koprovac konstruktor  . . . . . . . . . . . . . . . . 125
           Pepisovn konstruktor  . . . . . . . . . . . . . . . 125
           Poad voln konstruktor  . . . . . . . . . . . . . . 125
           Inicializace tdy  . . . . . . . . . . . . . . . . . . 127
        Destruktory  . . . . . . . . . . . . . . . . . . . . . . . 129
           Kdy se vyvolvaj destruktory . . . . . . . . . . . . . 129
           Funkce atexit, #pragma exit a destruktory . . . . . . . 129
           Funkce exit a destruktory . . . . . . . . . . . . . . . 130
           Funkce abort a destruktory  . . . . . . . . . . . . . . 130
           Virtuln destruktory . . . . . . . . . . . . . . . . . 131


                                    iv 


        Pepsan opertory . . . . . . . . . . . . . . . . . . . . 132
        Opertorov funkce . . . . . . . . . . . . . . . . . . . . 133
           Pepsan opertory a ddinost  . . . . . . . . . . . . 133
           Pepisovn new a delete  . . . . . . . . . . . . . . . 133
           Pepisovn unrnch opertor  . . . . . . . . . . . . 134
           Pepisovn binrnch opertor . . . . . . . . . . . . 135
           Pepisovn dosazovacho opertoru =  . . . . . . . . . 135
           Pepisovn opertoru voln funkce ()  . . . . . . . . 135
           Pepisovn indexovacho opertoru [] . . . . . . . . . 135
           Pepisovn opertoru pstupu ke lenm tdy -> . . . 136
        Virtuln funkce . . . . . . . . . . . . . . . . . . . . . 136
        Abstraktn tdy . . . . . . . . . . . . . . . . . . . . . 137
        Obor C++ . . . . . . . . . . . . . . . . . . . . . . . . . 138
           Obor tdy  . . . . . . . . . . . . . . . . . . . . . . 139
           Zakrvn . . . . . . . . . . . . . . . . . . . . . . . 139
           Souhrn pravidel pro obor v C++  . . . . . . . . . . . . 139

     Kapitola 4  Preprocesor                                       141
        Przdn direktiva #  . . . . . . . . . . . . . . . . . . . 144
        Direktivy #define a #undef . . . . . . . . . . . . . . . . 144
           Jednoduch makroinstrukce #define . . . . . . . . . . . 144
           Direktiva #undef  . . . . . . . . . . . . . . . . . . . 145
           Alternativy -D a -U . . . . . . . . . . . . . . . . . . 146
           Klov a chrnn slova  . . . . . . . . . . . . . . . 147
           Makroinstrukce s parametry  . . . . . . . . . . . . . . 147
        Vkldn soubor prostednictvm #include  . . . . . . . . 150
           Vyhledn souboru zhlav uitm <nzev_zhlav>  . . . 150
           Vyhledn souboru zhlav uitm "nzev_zhlav"  . . . 151
        Podmnn kompilace  . . . . . . . . . . . . . . . . . . . 151
           Podmnn direktivy #if, #elif, #else a #endif  . . . . 151
              Opertor defined . . . . . . . . . . . . . . . . . . 152
           Podmnn direktivy #ifdef a #ifndef  . . . . . . . . . 152
        Direktiva pro ovldn dk #line . . . . . . . . . . . . 153
        Direktiva #error . . . . . . . . . . . . . . . . . . . . . 154
        Direktiva #pragma  . . . . . . . . . . . . . . . . . . . . 155
           #pragma argsused  . . . . . . . . . . . . . . . . . . . 155
           #pragma exit a #pragma startup  . . . . . . . . . . . . 156
           #pragma inline  . . . . . . . . . . . . . . . . . . . . 156
           #pragma option  . . . . . . . . . . . . . . . . . . . . 157
           #pragma saveregs  . . . . . . . . . . . . . . . . . . . 158
           #pragma warn  . . . . . . . . . . . . . . . . . . . . . 158
        Peddefinovan makroinstrukce  . . . . . . . . . . . . . . 159
           __CDECL__ . . . . . . . . . . . . . . . . . . . . . . . 159
           __cplusplus . . . . . . . . . . . . . . . . . . . . . . 159
           __DATE__  . . . . . . . . . . . . . . . . . . . . . . . 159
           __FILE__  . . . . . . . . . . . . . . . . . . . . . . . 160
           __LINE__  . . . . . . . . . . . . . . . . . . . . . . . 160
           __MSDOS__ . . . . . . . . . . . . . . . . . . . . . . . 160
           __OVERLAY__ . . . . . . . . . . . . . . . . . . . . . . 160
           __PASCAL__  . . . . . . . . . . . . . . . . . . . . . . 160
           __STDC__  . . . . . . . . . . . . . . . . . . . . . . . 160
           __TIME__  . . . . . . . . . . . . . . . . . . . . . . . 160
           __TURBOC__  . . . . . . . . . . . . . . . . . . . . . . 161

     Kapitola 5  Funkce main                                       163
        Argumenty pro main . . . . . . . . . . . . . . . . . . . . 163
           Ukzkov program  . . . . . . . . . . . . . . . . . . . 164
           Pseudoznaky jako argumenty  . . . . . . . . . . . . . . 165
              Ukzkov program . . . . . . . . . . . . . . . . . . 165
        Uit -p (konvence voln jazyka Pascal) . . . . . . . . . 166


                                     v 


        Hodnota, kterou poskytuje main . . . . . . . . . . . . . . 166

     Kapitola 6  Pouit stream v C++                             169
           Co je stream ?  . . . . . . . . . . . . . . . . . . . . 169
           Knihovna iostream . . . . . . . . . . . . . . . . . . . 169
              Tda streambuf  . . . . . . . . . . . . . . . . . . 169
              Tda ios  . . . . . . . . . . . . . . . . . . . . . 170
           Vstupy . . . . . . . . . . . . . . . . . . . . . . . . 171
              Zabudovan typy  . . . . . . . . . . . . . . . . . . 172
              Formtovn vstup  . . . . . . . . . . . . . . . . 172
              Manipultory . . . . . . . . . . . . . . . . . . . . 172
              Vyplovn a doplovn  . . . . . . . . . . . . . . 174
              Uivatelsky definovan vkladatele  . . . . . . . . . 174
           Vstupy  . . . . . . . . . . . . . . . . . . . . . . . . 175
              Uivatelsky definovan typy pro vstupy . . . . . . . 176
           Jednoduch vstupy/vstupy soubor . . . . . . . . . . . 176
           Zpracovn etzcovch stream  . . . . . . . . . . . . 177
        Pehled streamovch td . . . . . . . . . . . . . . . . . 178
        filebuf                    <fstream.h> . . . . . . . . . . 178
        fstream                    <fstream.h> . . . . . . . . . . 179
        fstreambase                  <fstream.h> . . . . . . . . . 180
        ifstream                   <fstream.h> . . . . . . . . . . 180
        ios                     <iostream.h> . . . . . . . . . . . 181
        iostream                   <iostream.h>  . . . . . . . . . 182
        iostream_withassign             <iostream.h> . . . . . . . 183
        istream                   <iostream.h> . . . . . . . . . . 183
        istream_withassign              <iostream.h> . . . . . . . 184
        istrstream                 <strstream.h> . . . . . . . . . 185
        ofstream                   <fstream.h> . . . . . . . . . . 185
        ostream                   <iostream.h> . . . . . . . . . . 186
        ostream_withassign              <iostream.h> . . . . . . . 186
        ostrstream                 <strstream.h> . . . . . . . . . 187
        streambuf                  <iostream.h>  . . . . . . . . . 187
        strstreambase                <strstream.h> . . . . . . . . 188
        strstreambuf                <strstream.h>  . . . . . . . . 188
        strstream                  <strstream.h> . . . . . . . . . 189

     Kapitola 7  Sprva pamti                                     191
        Vyerpn pamti . . . . . . . . . . . . . . . . . . . . . 191
        Pam؟ov modely  . . . . . . . . . . . . . . . . . . . . . 191
           Registry procesoru 8086 . . . . . . . . . . . . . . . . 191
              Registry pro obecn ely  . . . . . . . . . . . . . 192
              Segmentov registry  . . . . . . . . . . . . . . . . 193
              Registry pro speciln ely . . . . . . . . . . . . 193
              Registr pznak . . . . . . . . . . . . . . . . . . 193
           Segmentace pamti . . . . . . . . . . . . . . . . . . . 194
              Vpoet adresy . . . . . . . . . . . . . . . . . . . 195
           Ukazatele . . . . . . . . . . . . . . . . . . . . . . . 195
              Blzk ukazatele . . . . . . . . . . . . . . . . . . 196
              Vzdlen ukazatele . . . . . . . . . . . . . . . . . 196
              Rozshl ukazatele . . . . . . . . . . . . . . . . . 197
           est pam؟ovch model  . . . . . . . . . . . . . . . . 197
        Programovn se smenmi modely: Modifiktory
        adresovn . . . . . . . . . . . . . . . . . . . . . . . . 203
           Segmentov ukazatele  . . . . . . . . . . . . . . . . . 204
           Deklarovn vzdlench objekt  . . . . . . . . . . . . 205
           Deklarovn funkc jako blzkch nebo vzdlench  . . . 205
           Deklarovn ukazatel jako blzkch, vzdlench nebo
           rozshlch  . . . . . . . . . . . . . . . . . . . . . . 206
              Ukazovn na danou adresu segment:ofset  . . . . . . 207


                                    vi 


           Pouvn knihovnch soubor  . . . . . . . . . . . . . 208
           Spojovn smench modul  . . . . . . . . . . . . . . 208
        Pekryvy (VROOMM)  . . . . . . . . . . . . . . . . . . . . 209
           Jak pracuj pekryvy  . . . . . . . . . . . . . . . . . 209
              Jak vytاit z pekryv v Turbo C++ co nejvce  . . . 211
           Poadavky . . . . . . . . . . . . . . . . . . . . . . . 211
           Vyuvn pekryv  . . . . . . . . . . . . . . . . . . 212
              Ukzka pekryv  . . . . . . . . . . . . . . . . . . 212
              Vytven pekryv v integrovanm prosted IDE  . . 212
           Pekrvan programy . . . . . . . . . . . . . . . . . . 213
              Poadavek vzdlenho voln  . . . . . . . . . . . . 213
              Velikost vyrovnvac pamti  . . . . . . . . . . . . 213
              Kdy se pekrvn vyhnout  . . . . . . . . . . . . . 214
              Ladn pekryv  . . . . . . . . . . . . . . . . . . 214
              Extern rutiny v pekryvech  . . . . . . . . . . . . 214
           Vmny  . . . . . . . . . . . . . . . . . . . . . . . . 215
              Rozen pam؟  . . . . . . . . . . . . . . . . . . 215
              Pdavn pam؟ . . . . . . . . . . . . . . . . . . . 216

     Kapitola 8  Matematika                                        217
        Alternativy pohybliv dov teky . . . . . . . . . . . . 217
           Emulace koprocesoru 80x87 . . . . . . . . . . . . . . . 217
           Pouit kdu 80x87  . . . . . . . . . . . . . . . . . . 217
           Kd bez pohybliv teky . . . . . . . . . . . . . . . . 218
           Rychl alternativa pohybliv teky  . . . . . . . . . . 218
           Promnn prosted 87 . . . . . . . . . . . . . . . . . 218
           Registry a koprocesor 80x87 . . . . . . . . . . . . . . 219
           Zablokovn vjimench situac pohybliv teky . . . . 219
        Pouvn matematiky v oboru komplexnch sel . . . . . . 220
           Uit matematiky BCD  . . . . . . . . . . . . . . . . . 221
              Pevod sel BCD . . . . . . . . . . . . . . . . . . 222
              Poet desetinnch mst . . . . . . . . . . . . . . . 222

     Kapitola 9  Zobrazovac funkce                                225
        Nkolik slov o zobrazovacch reimech  . . . . . . . . . . 225
        Nkolik slov o oknech a vezech . . . . . . . . . . . . . 226
           Co je okno ?  . . . . . . . . . . . . . . . . . . . . . 226
           Co je vez ? . . . . . . . . . . . . . . . . . . . . . 226
           Souadnice  . . . . . . . . . . . . . . . . . . . . . . 226
        Programovn v textovm reimu . . . . . . . . . . . . . . 226
           Funkce pro V/V z ovldacho pultu . . . . . . . . . . . 227
              Textov vstupy a manipulace s nimi  . . . . . . . . 227
              Ovldn oken a reim . . . . . . . . . . . . . . . 228
              Ovldn atribut  . . . . . . . . . . . . . . . . . 228
              Zjiovn stavu . . . . . . . . . . . . . . . . . . 229
              Podoba kurzoru . . . . . . . . . . . . . . . . . . . 230
           Textov okna  . . . . . . . . . . . . . . . . . . . . . 230
              Ukzka . . . . . . . . . . . . . . . . . . . . . . . 230
           Typ text_modes  . . . . . . . . . . . . . . . . . . . . 231
           Barvy textu . . . . . . . . . . . . . . . . . . . . . . 232
              Vstup s vysokou vkonnost: Promnn directvideo  . 232
        Programovn v grafickm reimu  . . . . . . . . . . . . . 233
           Funkce z grafick knihovny  . . . . . . . . . . . . . . 233
              Ovldn systmu grafiky . . . . . . . . . . . . . . 234
              Podrobnj diskuse  . . . . . . . . . . . . . . . . 235
              Kreslen a vyplovn  . . . . . . . . . . . . . . . 236
              Manipulace s obrazovkou a vezy . . . . . . . . . . 238
              Textov vstupy v grafickm reimu . . . . . . . . . 239
              Ovldn barvy . . . . . . . . . . . . . . . . . . . 240
              Obrazov body a palety . . . . . . . . . . . . . . . 241


                                    vii 


              Barva pozad a kreslic barva  . . . . . . . . . . . 241
              Ovldn barev s adaptrem CGA . . . . . . . . . . . 242
              Ovldn barev s adaptry EGA a VGA  . . . . . . . . 243
              Oetovn chyb v grafickm reimu . . . . . . . . . 244
              Zjiovn stavu . . . . . . . . . . . . . . . . . . 245

     Kapitola 10  Chybov hlen                                  249
        Chybov hlen innho programu . . . . . . . . . . . . . 250
        Chybov hlen z kompiltoru  . . . . . . . . . . . . . . 252

     Appendix A  Dodatek A Implementan specifick normy ANSI     289

     Appendix B  Dodatek B Pehled knihovny innho programu       301
        Dvody k pstupu do zdrojovch text knihovny innho
        programu . . . . . . . . . . . . . . . . . . . . . . . . . 301
        Soubory zhlav v Turbo C++  . . . . . . . . . . . . . . . 302
        Knihovn rutiny podle kategori  . . . . . . . . . . . . . 304
           Klasifikan rutiny . . . . . . . . . . . . . . . . . . 305
           Pevodn rutiny . . . . . . . . . . . . . . . . . . . . 305
           Rutiny pro ovldn adres  . . . . . . . . . . . . . 305
           Diagnostick rutiny . . . . . . . . . . . . . . . . . . 305
           Grafick rutiny . . . . . . . . . . . . . . . . . . . . 306
           Rutiny pro vstupy/vstupy . . . . . . . . . . . . . . . 306
           Propojovac rutiny (DOS, 8086, BIOS)  . . . . . . . . . 307
           Manipulan rutiny  . . . . . . . . . . . . . . . . . . 308
           Matematick rutiny  . . . . . . . . . . . . . . . . . . 308
           Rutiny pro prci s pamt . . . . . . . . . . . . . . . 309
           Rzn rutiny  . . . . . . . . . . . . . . . . . . . . . 309
           Rutiny pro ovldn procesu . . . . . . . . . . . . . . 309
           Standardn rutiny . . . . . . . . . . . . . . . . . . . 310
           Rutiny pro zobrazovn textovch oken . . . . . . . . . 310
           Rutiny pro datum a as  . . . . . . . . . . . . . . . . 310
           Rutiny pro promnn seznam argument  . . . . . . . . . 310





























                                   viii 








                               Obrzky


     Figure 1.1: Vnitn zobrazen datovch typ . . . . . . . . . .24
     Figure 6.1: Tda streambuf a jej odvozen tdy . . . . . . 170
     Figure 6.2: Tda ios a jej odvozen tdy . . . . . . . . . 171
     Figure 7.1: Registry procesoru 8086 . . . . . . . . . . . . . 192
     Figure 7.2: Registr pznak mikroprocesoru 8086  . . . . . . 194
     Figure 7.3: Segmentace pamti podle drobnho modelu (Tiny)  . 199
     Figure 7.4: Segmentace pamti podle malho modelu (Small) . . 199
     Figure 7.5: Segmentace pamti podle stednho modelu
                 (Medium)  . . . . . . . . . . . . . . . . . . . . 200
     Figure 7.6: Segmentace pamti podle kompaktnho modelu
                 (Compact) . . . . . . . . . . . . . . . . . . . . 200
     Figure 7.7: Segmentace pamti podle velkho modelu (Large)  . 201
     Figure 7.8: Segmentace pamti podle rozshlho modelu (Huge) .202
     Figure 7.9: Pam؟ov mapy pekryv  . . . . . . . . . . . . . 211
     Figure 9.1: Okno v textovm reimu 80x25  . . . . . . . . . . 231






































                                    ix 
































































                                     x 








                               Tabulky


     Table 1.1: Vechna klov slova jazyka Turbo C++ . . . . . . .11
     Table 1.2: Rozen jazyka Turbo C++ vi ANSI C . . . . . . .11
     Table 1.3: Klov slova specifick pro C++ . . . . . . . . . .11
     Table 1.4: Registrov pseudopromnn jazyka Turbo C++ . . . . .11
     Table 1.5: Formln definice konstant . . . . . . . . . . . . .14
     Table 1.6: Celoseln konstanty v Turbo C++ bez ppon L nebo
                U  . . . . . . . . . . . . . . . . . . . . . . . . .16
     Table 1.7: Zmnov posloupnosti Turbo C++ . . . . . . . . . . .18
     Table 1.8: Velikosti a rozsahy konstant s pohyblivou tekou v
                Turbo C++  . . . . . . . . . . . . . . . . . . . . .19
     Table 1.9: Typy dat, jejich velikosti a rozsahy . . . . . . . .22
     Table 1.10: Syntax deklarac v Turbo C++  . . . . . . . . . . .39
     Table 1.11: Syntax deklartor v Turbo C++  . . . . . . . . . .40
     Table 1.12: Deklarace tdy v Turbo C++ (jen v C++) . . . . . .43
     Table 1.13: Deklarovn typ  . . . . . . . . . . . . . . . . .46
     Table 1.14: Celoseln typy  . . . . . . . . . . . . . . . . .47
     Table 1.15: Metody standardnch aritmetickch pevod . . . . .49
     Table 1.16: Modifiktory v Turbo C++  . . . . . . . . . . . . .54
     Table 1.17: Sloit deklartory . . . . . . . . . . . . . . . .60
     Table 2.1: Definice externch funkc  . . . . . . . . . . . . .70
     Table 2.2: Vrazy v Turbo C++ . . . . . . . . . . . . . . . . .81
     Table 2.3: Asociativita a priorita opertor v Turbo C++  . . .83
     Table 2.4: Pravdivostn tabulka bitovch opertor  . . . . . .94
     Table 2.5: Pkazy Turbo C++  . . . . . . . . . . . . . . . . .99
     Table 4.1: Syntax direktiv pro pedzpracovn Turbo C++ . . . 142
     Table 6.1: Streamov manipultory . . . . . . . . . . . . . . 173
     Table 6.2: Reimy souboru . . . . . . . . . . . . . . . . . . 177
     Table 7.1: Pam؟ov modely  . . . . . . . . . . . . . . . . . 202
     Table 7.2: Vsledky ukazatel . . . . . . . . . . . . . . . . 204
     Table A.1: Identifikace diagnostiky v C++ . . . . . . . . . . 289























                                    xi 








     Obsah D4, "Pruka uivatele"



     Kapitola 1  Referenn popis integrovanho prosted jazyka     5
        Sputn systmu a jeho ukonen . . . . . . . . . . . . . . 5
           Volby v pkazovm dku  . . . . . . . . . . . . . . . . 6
              Volba /b . . . . . . . . . . . . . . . . . . . . . . . 6
              Volba /m . . . . . . . . . . . . . . . . . . . . . . . 6
              Volba /d . . . . . . . . . . . . . . . . . . . . . . . 6
              Volby /e a /x  . . . . . . . . . . . . . . . . . . . . 7
              Volba /rx  . . . . . . . . . . . . . . . . . . . . . . 7
              Volba /l . . . . . . . . . . . . . . . . . . . . . . . 7
              Volba /p . . . . . . . . . . . . . . . . . . . . . . . 7
           Ukonen systmu Turbo C++  . . . . . . . . . . . . . . . 8
        Sousti integrovanho prosted . . . . . . . . . . . . . . 8
           dkov nabdka a nabdky . . . . . . . . . . . . . . . . 8
              Zkracovac klvesy . . . . . . . . . . . . . . . . . . 9
              Zapnut a vypnut plnch nabdek  . . . . . . . . .  12
           Okna v systmu Turbo C++  . . . . . . . . . . . . . . .  13
              Ovldn oken  . . . . . . . . . . . . . . . . . . .  15
           Stavov dek . . . . . . . . . . . . . . . . . . . . .  16
           Dialogov rmeky . . . . . . . . . . . . . . . . . . .  17
              Kontroln rmeky a rdio-senzory  . . . . . . . . .  17
              Vstupn rmeky a seznamy  . . . . . . . . . . . . .  18
           Editace . . . . . . . . . . . . . . . . . . . . . . . .  19
        Referenn popis nabdek . . . . . . . . . . . . . . . . .  20
              (Systmov) nabdka  . . . . . . . . . . . . . . . .  20
              Volba About  . . . . . . . . . . . . . . . . . . . .  20
              Volba Clear Desktop  . . . . . . . . . . . . . . . .  20
              Volba Repaint Desktop  . . . . . . . . . . . . . . .  20
              Poloky Transfer . . . . . . . . . . . . . . . . . .  20
           Nabdka File  . . . . . . . . . . . . . . . . . . . . .  21
              Volba Open . . . . . . . . . . . . . . . . . . . . .  21
              Volba New  . . . . . . . . . . . . . . . . . . . . .  22
              Volba Save . . . . . . . . . . . . . . . . . . . . .  23
              Volba Save As  . . . . . . . . . . . . . . . . . . .  23
              Volba Save All . . . . . . . . . . . . . . . . . . .  23
              Volba Change Dir . . . . . . . . . . . . . . . . . .  23
              Volba Print  . . . . . . . . . . . . . . . . . . . .  24
              Volba Get Info . . . . . . . . . . . . . . . . . . .  24
              Volba DOS Shell  . . . . . . . . . . . . . . . . . .  25
              Volba Quit . . . . . . . . . . . . . . . . . . . . .  26
           Nabdka Edit  . . . . . . . . . . . . . . . . . . . . .  26
              Volba Restore Line . . . . . . . . . . . . . . . . .  27
              Volba Cut  . . . . . . . . . . . . . . . . . . . . .  27
              Volba Copy . . . . . . . . . . . . . . . . . . . . .  27
              Volba Paste  . . . . . . . . . . . . . . . . . . . .  27
              Volba Copy Example . . . . . . . . . . . . . . . . .  27
              Volba Show Clipboard . . . . . . . . . . . . . . . .  28
              Volba Clear  . . . . . . . . . . . . . . . . . . . .  28
           Nabdka Search  . . . . . . . . . . . . . . . . . . . .  28
              Volba Replace  . . . . . . . . . . . . . . . . . . .  31
              Volba Search Again . . . . . . . . . . . . . . . . .  31


                                     i 


              Volba Go to Line Number  . . . . . . . . . . . . . .  32
              Volba Previous Error . . . . . . . . . . . . . . . .  32
              Volba Next Error . . . . . . . . . . . . . . . . . .  32
              Volba Locate Function  . . . . . . . . . . . . . . .  32
           Nabdka Run . . . . . . . . . . . . . . . . . . . . . .  33
              Volba Run  . . . . . . . . . . . . . . . . . . . . .  33
              Volba Program Reset  . . . . . . . . . . . . . . . .  34
              Volba Go to Cursor . . . . . . . . . . . . . . . . .  34
              Volba Trace Into . . . . . . . . . . . . . . . . . .  34
              Volba Step Over  . . . . . . . . . . . . . . . . . .  35
              Volba Arguments  . . . . . . . . . . . . . . . . . .  36
           Nabdka Compile . . . . . . . . . . . . . . . . . . . .  36
              Volba Compile to OBJ . . . . . . . . . . . . . . . .  36
              Volba Make EXE File  . . . . . . . . . . . . . . . .  37
              Volba Link EXE File  . . . . . . . . . . . . . . . .  37
              Volba Build All  . . . . . . . . . . . . . . . . . .  37
              Volba Remove Messages  . . . . . . . . . . . . . . .  37
           Nabdka Debug . . . . . . . . . . . . . . . . . . . . .  38
              Volba Inspect  . . . . . . . . . . . . . . . . . . .  38
              Volba Evaluate/Modify  . . . . . . . . . . . . . . .  41
              Volba Call Stack . . . . . . . . . . . . . . . . . .  42
              Volba Watches  . . . . . . . . . . . . . . . . . . .  44
              Volba Toggle Breakpoint  . . . . . . . . . . . . . .  45
              Volba Breakpoints  . . . . . . . . . . . . . . . . .  45
           Nabdka Project . . . . . . . . . . . . . . . . . . . .  47
              Volba Open Project . . . . . . . . . . . . . . . . .  48
              Volba Close Project  . . . . . . . . . . . . . . . .  48
              Volba Add Item . . . . . . . . . . . . . . . . . . .  48
              Volba Delete Item  . . . . . . . . . . . . . . . . .  49
              Volba Local Options  . . . . . . . . . . . . . . . .  49
              Volba Include Files  . . . . . . . . . . . . . . . .  51
           Nabdka Options . . . . . . . . . . . . . . . . . . . .  51
              Volba Full Menus . . . . . . . . . . . . . . . . . .  51
              Volba Compiler . . . . . . . . . . . . . . . . . . .  52
              Volba Transfer . . . . . . . . . . . . . . . . . . .  65
              Volba Make . . . . . . . . . . . . . . . . . . . . .  70
              Volba Linker . . . . . . . . . . . . . . . . . . . .  71
              Volba Debugger . . . . . . . . . . . . . . . . . . .  73
              Volba Directories  . . . . . . . . . . . . . . . . .  76
              Volba Environment  . . . . . . . . . . . . . . . . .  77
              Volba Save . . . . . . . . . . . . . . . . . . . . .  81
           Nabdka Window  . . . . . . . . . . . . . . . . . . . .  81
              Volba Size/Move  . . . . . . . . . . . . . . . . . .  81
              Volba Zoom . . . . . . . . . . . . . . . . . . . . .  82
              Volba Tile . . . . . . . . . . . . . . . . . . . . .  82
              Volba Cascade  . . . . . . . . . . . . . . . . . . .  82
              Volba Next . . . . . . . . . . . . . . . . . . . . .  82
              Volba Close  . . . . . . . . . . . . . . . . . . . .  82
              Volba Message  . . . . . . . . . . . . . . . . . . .  82
              Volba Output . . . . . . . . . . . . . . . . . . . .  82
              Volba Watch  . . . . . . . . . . . . . . . . . . . .  83
              Volba User Screen  . . . . . . . . . . . . . . . . .  83
              Volba Register . . . . . . . . . . . . . . . . . . .  83
              Volba Project  . . . . . . . . . . . . . . . . . . .  83
              Volba Notes  . . . . . . . . . . . . . . . . . . . .  84
              Volba List . . . . . . . . . . . . . . . . . . . . .  84
           Nabdka Help  . . . . . . . . . . . . . . . . . . . . .  84
              Volba Contents . . . . . . . . . . . . . . . . . . .  85
              Volba Index  . . . . . . . . . . . . . . . . . . . .  85
           Nabdka Topic Search  . . . . . . . . . . . . . . . . .  86


                                    ii 


           Nabdka Previous Topic  . . . . . . . . . . . . . . . .  86
           Nabdka Help on Help  . . . . . . . . . . . . . . . . .  86
        Projektov a konfiguran soubory  . . . . . . . . . . . .  86
           Soubory ve "starm stylu" . . . . . . . . . . . . . . .  86
           Nov projektov soubor  . . . . . . . . . . . . . . . .  87
           Nov konfiguran soubor  . . . . . . . . . . . . . . .  87
           Zavdn projektovch soubor . . . . . . . . . . . . .  87
           Adres projektu  . . . . . . . . . . . . . . . . . . .  88
           Soubor pracovn plochy  . . . . . . . . . . . . . . . .  88
           Zmny projektovch soubor  . . . . . . . . . . . . . .  88
           Implicitn soubory  . . . . . . . . . . . . . . . . . .  89

     Kapitola 2  Prce s vcesouborovmi projekty                   91
        Pouit Project Manageru . . . . . . . . . . . . . . . . .  92
        Sledovn chyb . . . . . . . . . . . . . . . . . . . . . .  95
           Zastaven reimu Make . . . . . . . . . . . . . . . . .  95
           Chyby syntaxe ve vcensobnch zdrojovch souborech . .  96
           Ukldn (zpis) nebo ruen zprv  . . . . . . . . . .  96
        "Sla" Project Manageru  . . . . . . . . . . . . . . . . .  97
           Automatick kontrola zvislosti mezi zdrojovmi
           soubory . . . . . . . . . . . . . . . . . . . . . . . .  97
        Pouvn rznch souborovch peklada . . . . . . . . .  98
        Pedefinovn knihoven . . . . . . . . . . . . . . . . . . 100
        Dal rysy Project Manageru  . . . . . . . . . . . . . . . 100
           Dvme se na soubory projektu . . . . . . . . . . . . . 102
           Poznmky o vaem projektu . . . . . . . . . . . . . . . 103

     Kapitola 3  Editor od A do Z                                  105
        Nov a star . . . . . . . . . . . . . . . . . . . . . . . 105
        Referenn popis editoru . . . . . . . . . . . . . . . . . 106
           Skoky sem a tam . . . . . . . . . . . . . . . . . . . . 108
           Pkazy pro prci s blokem  . . . . . . . . . . . . . . 108
           Dal editan pkazy  . . . . . . . . . . . . . . . . 110
           Hledn a nahrazovn . . . . . . . . . . . . . . . . . 111
              Hledn a opakovan hledn  . . . . . . . . . . . . 111
              Hledn a nahrazovn  . . . . . . . . . . . . . . . 112
           Kontrola provn . . . . . . . . . . . . . . . . . . . 112
              Smrovan a nesmrovan kontroly provn  . . . . . 113
              Vnoovateln oddlovae  . . . . . . . . . . . . . . 114
              Oddlovae koment . . . . . . . . . . . . . . . . 114

     Kapitola 4  Dvkov kompiltor z pkazovho dku            117
        Nastaven voleb (On/Off) . . . . . . . . . . . . . . . . . 120
        Syntaxe a jmna soubor  . . . . . . . . . . . . . . . . . 120
           Soubory odpovd  . . . . . . . . . . . . . . . . . . . 121
        Volby kompiltoru  . . . . . . . . . . . . . . . . . . . . 121
           Pam؟ov model  . . . . . . . . . . . . . . . . . . . . 122
           Definice maker  . . . . . . . . . . . . . . . . . . . . 123
           Volby pro generovn kdu . . . . . . . . . . . . . . . 123
           Volby pro optimalizaci  . . . . . . . . . . . . . . . . 126
           Volby zdrojovho textu  . . . . . . . . . . . . . . . . 127
           Volby pro vpisy chybovch hlen  . . . . . . . . . . 128
              Poruen normy ANSI  . . . . . . . . . . . . . . . . 129
              ast chyby  . . . . . . . . . . . . . . . . . . . . 129
              Varovn hlen, tkajc se penositelnosti . . . . 130
              Varovn hlen C++  . . . . . . . . . . . . . . . . 130
           zen pojmenovn segment . . . . . . . . . . . . . . 131
           Volby pro zen pekladu . . . . . . . . . . . . . . . 132
           Volby pro pamti EMS a Extended . . . . . . . . . . . . 132
        Volby sestavovacho programu . . . . . . . . . . . . . . . 133


                                    iii 


        Volby pro prosted  . . . . . . . . . . . . . . . . . . . 133
           Knihovn soubory  . . . . . . . . . . . . . . . . . . . 134
        Algoritmy pro hledn soubor  . . . . . . . . . . . . . . 135
           Volby -L a -I a konfiguran soubory  . . . . . . . . . 135
        Pklad s poznmkami . . . . . . . . . . . . . . . . . . . 136
        Soubor TURBOC.CFG  . . . . . . . . . . . . . . . . . . . . 137
           Pouit alternativnho konfiguranho souboru . . . . . 138
              Pevody konfiguranch soubor . . . . . . . . . . . 138

     Kapitola 5  Podprn programy - utility                       139
        MAKE : Systm pro ovldn program  . . . . . . . . . . . 140
           Jak pracuje program MAKE  . . . . . . . . . . . . . . . 140
           Sputn programu MAKE  . . . . . . . . . . . . . . . . 141
              Soubor BUILTINS.MAK  . . . . . . . . . . . . . . . . 142
              Volby pkazovho dku  . . . . . . . . . . . . . . 142
           Jednoduch pklad pouit programu MAKE  . . . . . . . 143
           Vytven soubor makefile  . . . . . . . . . . . . . . 145
           Sousti souboru makefile . . . . . . . . . . . . . . . 146
              Komente  . . . . . . . . . . . . . . . . . . . . . 146
        Seznamy pkaz  . . . . . . . . . . . . . . . . . . . . . 147
              Prefixy  . . . . . . . . . . . . . . . . . . . . . . 147
              Tlo pkazu . . . . . . . . . . . . . . . . . . . . 148
              Umstn program do dvky . . . . . . . . . . . . . 149
              Provdn pkaz DOSu . . . . . . . . . . . . . . . 150
              Explicitn pravidla  . . . . . . . . . . . . . . . . 151
              Zvltn vahy . . . . . . . . . . . . . . . . . . . 152
              Pklady . . . . . . . . . . . . . . . . . . . . . . 152
              Automatick kontrola zvislosti  . . . . . . . . . . 153
              Implicitn pravidla  . . . . . . . . . . . . . . . . 153
              Makra  . . . . . . . . . . . . . . . . . . . . . . . 156
              Definovn maker . . . . . . . . . . . . . . . . . . 156
              Pouit maker  . . . . . . . . . . . . . . . . . . . 157
              Zvltn vahy . . . . . . . . . . . . . . . . . . . 157
              Peddefinovan makra . . . . . . . . . . . . . . . . 157
              Makra jmna souboru  . . . . . . . . . . . . . . . . 158
           Direktivy . . . . . . . . . . . . . . . . . . . . . . . 160
              Tekov direktivy  . . . . . . . . . . . . . . . . . 160
              Direktiva .PATH.ppona  . . . . . . . . . . . . . . 161
              Direktiva pro vkldan soubory . . . . . . . . . . . 162
              Direktivy pro podmnn proveden  . . . . . . . . . 162
              Vrazy, povolen v podmnnch direktivch . . . . . 163
              Direktiva chyby  . . . . . . . . . . . . . . . . . . 165
              Direktiva pro zruen definice makra . . . . . . . . 165
           Chybov zprvy programu MAKE  . . . . . . . . . . . . . 166
              Fatln chybov zprvy . . . . . . . . . . . . . . . 166
              Chyby  . . . . . . . . . . . . . . . . . . . . . . . 167
        TLIB: Turbo knihovnk  . . . . . . . . . . . . . . . . . . 169
           Pro pouvat knihovny object-modul ?  . . . . . . . . 170
           Pkazov dek programu TLIB . . . . . . . . . . . . . 170
              Seznam operac . . . . . . . . . . . . . . . . . . . 171
              Jmna soubor a modul . . . . . . . . . . . . . . . 171
              Operace programu TLIB  . . . . . . . . . . . . . . . 171
           Pouit soubor odpovd  . . . . . . . . . . . . . . . 172
           Vytvoen rozenho slovnku (volba /E) . . . . . . . 173
           Nastaven velikosti strnky (volba /P)  . . . . . . . . 173
           Pokroil operace (volba /C)  . . . . . . . . . . . . . 174
           Pklady  . . . . . . . . . . . . . . . . . . . . . . . 174
        Sestavovac program TLINK  . . . . . . . . . . . . . . . . 175
           Vyvoln programu TLINK . . . . . . . . . . . . . . . . 175
              Pouvn soubor odpovd . . . . . . . . . . . . . 177


                                    iv 


              Pouvn programu TLINK s moduly Turbo C++  . . . . 178
              Poten kd  . . . . . . . . . . . . . . . . . . . 179
              Knihovny . . . . . . . . . . . . . . . . . . . . . . 179
              Pouvn TLINK s TCC  . . . . . . . . . . . . . . . 180
           Volby programu TLINK  . . . . . . . . . . . . . . . . . 181
              Volby /x, /m, /s . . . . . . . . . . . . . . . . . . 181
              Volba /l (sla dk) . . . . . . . . . . . . . . . 182
              Volba /i (neinicializovan koncov segmenty) . . . . 182
              Volba /n (Ignorovn implicitnch knihoven)  . . . . 182
              Volba /c (rozliovn malch a velkch psmen) . . . 182
              Volba /d (duplicitn symboly)  . . . . . . . . . . . 182
              Volba /e (rozen slovnk) . . . . . . . . . . . . 183
              Volba /t (Soubor .COM pro model tiny)  . . . . . . . 183
              Volba /v (ladc informace)  . . . . . . . . . . . . 184
              Volba /3 (32-bitov kd 80386) . . . . . . . . . . . 184
              Volba /o (Segmenty)  . . . . . . . . . . . . . . . . 184
              Volba /y (pam؟ expanded nebo extended)  . . . . . . 185
              Omezen  . . . . . . . . . . . . . . . . . . . . . . 185
           Chybov zprvy  . . . . . . . . . . . . . . . . . . . . 186
              Fatln chyby  . . . . . . . . . . . . . . . . . . . 186
              Nefatln chyby  . . . . . . . . . . . . . . . . . . 188
              Varovn . . . . . . . . . . . . . . . . . . . . . . 189
        Program TOUCH  . . . . . . . . . . . . . . . . . . . . . . 190

     Kapitola 6  Pizpsoben Turbo C++                            191
        Sputn programu TCINST . . . . . . . . . . . . . . . . . 192
              Pouit karty EGA s monitorem CGA  . . . . . . . . . 192
        Instalan nabdka TCINST  . . . . . . . . . . . . . . . . 192
           Nabdka Search  . . . . . . . . . . . . . . . . . . . . 193
           Nabdka Run . . . . . . . . . . . . . . . . . . . . . . 194
           Volba Options . . . . . . . . . . . . . . . . . . . . . 194
              Nabdka Full Menus . . . . . . . . . . . . . . . . . 194
              Nabdka Compiler . . . . . . . . . . . . . . . . . . 194
              Volba Code Generation  . . . . . . . . . . . . . . . 195
              Volby C++  . . . . . . . . . . . . . . . . . . . . . 196
              Optimizations (optimalizace) . . . . . . . . . . . . 196
              Source (zdroj) . . . . . . . . . . . . . . . . . . . 196
              Messages (zprvy)  . . . . . . . . . . . . . . . . . 196
              Names (jmna)  . . . . . . . . . . . . . . . . . . . 200
              Nabdka Make . . . . . . . . . . . . . . . . . . . . 200
              Nabdka Linker . . . . . . . . . . . . . . . . . . . 200
              Nabdka Debugger . . . . . . . . . . . . . . . . . . 201
              Nabdka Directories  . . . . . . . . . . . . . . . . 201
              Include directories (adrese pro vkldan
              soubory) . . . . . . . . . . . . . . . . . . . . . . 202
              Library directories (adrese pro knihovny)  . . . . 202
              Output directory (adres pro vstupn soubory)  . . 202
              Nabdka Environment  . . . . . . . . . . . . . . . . 203
              Nabdka Preferences  . . . . . . . . . . . . . . . . 203
              Nabdka Editor . . . . . . . . . . . . . . . . . . . 204
              Nabdka Mouse  . . . . . . . . . . . . . . . . . . . 205
           Nabdka Editor Commands (pkazy editoru) . . . . . . . 205
              Povolen kombinace klves  . . . . . . . . . . . . . 207
           Nabdka Mode for Display  . . . . . . . . . . . . . . . 208
           Nabdka Adjust Colors . . . . . . . . . . . . . . . . . 209
           Nabdka Save Configuration  . . . . . . . . . . . . . . 211
           Nabdka Quit  . . . . . . . . . . . . . . . . . . . . . 211

     Appendix A  Makra Turbo Editoru                               213
        innost  . . . . . . . . . . . . . . . . . . . . . . . . . 213


                                     v 


        Syntaxe makro jazyka editoru . . . . . . . . . . . . . . . 213
        Pklady popis (Scripts)  . . . . . . . . . . . . . . . . 215
           Makro MakeFuncText  . . . . . . . . . . . . . . . . . . 216
           Makro MakeStub  . . . . . . . . . . . . . . . . . . . . 217
        Zabudovan pkazy . . . . . . . . . . . . . . . . . . . . 218
           Seznam podle funkc maker . . . . . . . . . . . . . . . 218
              Blokov makra  . . . . . . . . . . . . . . . . . . . 218
              Ruen/vkldn  . . . . . . . . . . . . . . . . . . 218
              Makra pro hledn  . . . . . . . . . . . . . . . . . 219
              Makra pro "hork klvesy"  . . . . . . . . . . . . . 219
              Makra pro nabdky  . . . . . . . . . . . . . . . . . 219
              Makra pro pohyb na obrazovce . . . . . . . . . . . . 219
              Systmov makra  . . . . . . . . . . . . . . . . . . 220
              Makra pro okna . . . . . . . . . . . . . . . . . . . 220
           Abecedn pehled  . . . . . . . . . . . . . . . . . . . 220
        Chybov zprvy . . . . . . . . . . . . . . . . . . . . . . 226
        Varovn zprva . . . . . . . . . . . . . . . . . . . . . . 228













































                                    vi 








                               Obrzky


     Figure 1.1: Dialogov rmeek Load a File . . . . . . . . . . .21
     Figure 1.2: Dialogov rmeek Save File As  . . . . . . . . . .23
     Figure 1.3: Dialogov rmeek Change Dir  . . . . . . . . . . .24
     Figure 1.4: Dialogov rmeek Get Info  . . . . . . . . . . . .25
     Figure 1.5: Dialogov rmeek Find  . . . . . . . . . . . . . .29
     Figure 1.6: Dialogov rmeek Replace . . . . . . . . . . . . .31
     Figure 1.7: Dialogov rmeek Go to Line Number . . . . . . . .32
     Figure 1.8: Dialogov rmeek Locate function . . . . . . . . .32
     Figure 1.9: Dialogov rmeek Arguments . . . . . . . . . . . .36
     Figure 1.10: Dialogov rmeek Evaluate and Modify  . . . . . .41
     Figure 1.11: Dialogov rmeek Breakpoints  . . . . . . . . . .46
     Figure 1.12: Dialogov rmeek Breakpoint Modify/New  . . . . .46
     Figure 1.13: Dialogov rmeek Project File . . . . . . . . . .48
     Figure 1.14: Dialogov rmeek Add Item to Project Lis  . . . .49
     Figure 1.15: Dialogov rmeek Override Options . . . . . . . .50
     Figure 1.16: Dialogov rmeek Include Files  . . . . . . . . .51
     Figure 1.17: Dialogov rmeek Code generation  . . . . . . . .52
     Figure 1.18: Dialogov rmeek Advanced Code Generation . . . .54
     Figure 1.19: Dialogov rmeek Optimization Options . . . . . .57
     Figure 1.20: Dialogov rmeek Source Options . . . . . . . . .59
     Figure 1.21: Dialogov rmeek Compiler Messages  . . . . . . .60
     Figure 1.22: Dialogov rmeek Portability Warnings . . . . . .61
     Figure 1.23: Dialogov rmeek ANSI Violations  . . . . . . . .62
     Figure 1.24: Dialogov rmeek More ANSI Violations . . . . . .62
     Figure 1.25: Dialogov rmeek C++ Warnings . . . . . . . . . .63
     Figure 1.26: Dialogov rmeek Frequent Errors  . . . . . . . .63
     Figure 1.27: Dialogov rmeek More Frequent Errors . . . . . .64
     Figure 1.28: Dialogov rmeek Segment Names  . . . . . . . . .64
     Figure 1.29: Dialogov rmeek Transfer . . . . . . . . . . . .65
     Figure 1.30: Dialogov rmeek Modify/New Transfer Item . . . .66
     Figure 1.31: Dialogov rmeek Make . . . . . . . . . . . . . .71
     Figure 1.32: Dialogov rmeek Linker . . . . . . . . . . . . .72
     Figure 1.33: Dialogov rmeek Debugger . . . . . . . . . . . .74
     Figure 1.34: Dialogov rmeek Directories  . . . . . . . . . .76
     Figure 1.35: Dialogov rmeek Preferences  . . . . . . . . . .77


















                                    vii 
