Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
wjęzykuC++.Abywygenerowaćciekawszeprogramy,powinieneśużywać
instrukcjiwarunkowej,naprzykładif.
Instrukcjaifzawierawyrażenielogiczneijednąlubwięcejzagnieżdżo-
nychinstrukcji.Wzależnościodtego,czywyrażenielogicznezwracaprawdę
lubfałsz,programdecyduje,którainstrukcjazagnieżdżonapowinnazostać
wykonana.Istniejekilkaforminstrukcjiif,alepodstawowejejużyciejest
następujące:
if(wyrażenie-logiczne)instrukcja
Jeśliwyrażenie-logicznejestprawdziwe,wykonywanajestinstrukcjaza-
gnieżdżona;wprzeciwnymrazienicsięniedzieje.
Czasamichciałbyś,abyzamiastpojedynczejinstrukcjizostaławykona-
nacałaichgrupa.Takagrupanazywanajestinstrukcjązłożoną(lubblokową).
Abyzadeklarowaćinstrukcjęzłożoną,poprostuumieśćgrupęinstrukcji
wnawiasachklamrowych{}.Winstrukcjiifmożeszwnastępującysposób
użyćinstrukcjizłożonej:
if(wyrażenie-logiczne){
instrukcja1;
instrukcja2;
--cięcie--
}
Jeśliwyrażenie-logicznebędzieprawdziwe,zostanąwykonanewszystkie
poszczególneinstrukcjezawartewinstrukcjizłożonej;wprzeciwnymrazie
nieniezostaniewykonanażadnaznich.
Możeszrozbudowaćinstrukcjęif,używającskładnikówelseifielse.
Teopcjonalnedodatkipozwalająopisywaćbardziejskomplikowanewersje
rozgałęziania,jakpokazanonalistingu1.3.
if(wyrażenie-logiczne-1)instrukcja-1
elseif(wyrażenie-logiczne-2)instrukcja-2
3elseinstrukcja-3
Listing1.3.Instrukcjaifzgałęziamielseifielse
Najpierwobliczanejestwyrażenie-logiczne-1.Jeślizwrócionowartość
prawdy,wykonanazostanieinstrukcja-1,ainstrukcjaifzakończydziałanie.Je-
śliwyrażenie-logiczne-1zwrócifałsz,obliczonezostaniewyrażenie-logiczne-2.
Jeżelizwrócionoprawdę,zostaniewykonanainstrukcja-2.Wprzeciwnymra-
ziezostanieuruchomionainstrukcja-33.Zauważ,żeinstrukcjeinstrukcja-1,
instrukcja-2iinstrukcja-3wzajemniesięwykluczająiwspólniezapewniająob-
sługęwszystkichmożliwychwynikówinstrukcjiif.Wykonanazatemzostanie
tylkojednaznich.
Możeszdołączyćdowolnąliczbęklauzulelseiflubcałkowiciejepominąć.
Podobniejakwprzypadkupoczątkowejinstrukcjiif,wyrażenialogicznedla
każdejklauzulielseifobliczanepokolei.Gdyjednoztychwyrażeńlo-
gicznychzwróciwartośćtrue,proceswyznaczaniawartościzostaniezatrzyma-
nyiwykonanazostanieodpowiedniainstrukcja.Jeśliżadnazinstrukcjielse
16Rozdział1