52 Godzina 4
10:
12: {
13: if (x > 100)
14: cout « "Wiaksza niz 100. Dziękuję!\n";
16: else // teraz jest prawidłowo.
17: cout « "Mniejsza niz 10. Dziękuję!\n";
Podaj liczbę mniejsza niz 10 albo większa niz 100: 20
ANALIZA:
Klamry w liniach 12 i 15 powodują, że wszystko między nimi jest traktowane jako jedna instrukcja złożona.
Użytkownik podał liczbę 20, zatem warunek w linii 11 jest spełniony. Jednak warunek w linii 13 jest fałszywy czyli na ekranie nie zostanie nic napisane. Byłoby lepiej, gdyby programista wstawił jeszcze jedno else w liniil4 dla wychwycenia błędu polegającego na wprowadzeniu liczby niezgodnej z warunkiem.
Wszystkie programy prezentowane w tej książce mają na celu zademonstrowanie omawianych zagadnień. Dlatego są one bardzo proste i nie zawierają zabezpieczeń przeciwko błędom użytkownika. W profesjonalnych programach każdy możliwy do popełnienia przez użytkownika błąd powinien być przewidziany i odpowiednio obsłużony. Nieformalnie mówi się, że program powinien być „kuloodporny”.
Bardzo często chcemy sprawdzić więcej niż jeden warunek za jednym razem. „Czy prawdą jest, że x jest większe niż y i jednocześnie y jest większy niż z?” Program może chcieć sprawdzić, czy oba wyrażenia są prawdziwe ewentualnie, czy inny warunek jest spełniony i w zależności od tego wykonać odpowiednią operację.
Wyobraźmy sobie taką sytuację, mamy system alarmowy z następującą logiką: „Jeśli włączył się alarm przy drzwiach i jest po godzinie 18 i nie ma wakacji lub jest weekend to zadzwoń po policję”. Żeby opisać taki warunek w C++, trzeba użyć trzech różnych operatorów logicznych. Listę operatorów przedstawia tabela 4.2.
10:
11: if (X > 10)
12: {
13: if (x > 100)
14: cout « "Większa niz 100. Dziękuję!\n";
16: else // teraz jest prawidłowo.
17: cout « "Mniejsza niz 10. Dziękuję!\n";
Podaj liczbę mniejsza niz 10 albo większa niz 100: 20
Klamry w liniach 12 i 15 powodują, że wszystko między nimi jest traktowane jako jedna instrukcja złożona.
Użytkownik podał liczbę 20, zatem warunek w linii 11 jest spełniony. Jednak warunek w linii 13 jest fałszywy czyli na ekranie nie zostanie nic napisane. Byłoby lepiej, gdyby programista wstawił jeszcze jedno else w liniil4 dla wychwycenia błędu polegającego na wprowadzeniu liczby niezgodnej z warunkiem.
Wszystkie programy prezentowane w tej książce mają na celu zademonstrowanie omawianych zagadnień. Dlatego są one bardzo proste i nie zawierają zabezpieczeń przeciwko błędom użytkownika. W profesjonalnych programach każdy możliwy do popełnienia przez użytkownika błąd powinien być przewidziany i odpowiednio obsłużony. Nieformalnie mówi się, że program powinien być „kuloodporny".
Bardzo często chcemy sprawdzić więcej niż jeden warunek za jednym razem. „Czy prawdą jest, że x jest większe niż y i jednocześnie y jest większy niż z?” Program może chcieć sprawdzić, czy oba wyrażenia są prawdziwe ewentualnie, czy inny warunek jest spełniony i w zależności od tego wykonać odpowiednią operację.
Wyobraźmy sobie taką sytuację, mamy system alarmowy z następującą logiką: „Jeśli włączył się alarm przy drzwiach i jest po godzinie 18 i nie ma wakacji lub jest weekend to zadzwoń po policję". Żeby opisać taki warunek w C++, trzeba użyć trzech różnych operatorów logicznych. Listę operatorów przedstawia tabela 4.2.