Zaawansowane sterowanie programem 111
W linii 32 obliczana jest reszta z dzielenia zmiennej mała przez zmienną pomiń. Jeśli mała jest wielokrotnością pomiń (reszta z dzielenia jest równa 0), to wykonywana jest instrukcja continue i program przechodzi do początku pętli, do linii 26. W rezultacie, pomijana jest reszta instrukcji pętli — sprawdzenie zmiennej cel i zmniejszenie zmiennej duża.
W linii 38 porównujemy zmienną duża i zmienną cel. Jeśli są one takie same, to znaczy, że użytkownik wygrał. Wypisywany jest komunikat o zwycięstwie i wykonywana jest instrukcja break. Powoduje ona wyjście z pętli while i przejście do linii 46.
Instrukcje continue i break powinny być stosowane bardzo rozważnie. Podobnie jak goto bardzo gmatwają one kod. Program niespodziewanie przeskakuje w zupełnie inne miejsca. Nawet mała pętla while może się stać całkowicie nieczytelna.
Warunek sprawdzany w pętli (instrukcji) while może być dowolnym, poprawnym wyrażeniem C++. Pętla wykonuje się tak długo, jak jest on spełniony. Jeśli podasz wartość jeden w miejscu warunku, to otrzymasz pętlę, która nigdy się nie kończy. Ponieważ wartość 1 oznacza prawdę, to zakończyć pętle może jedynie instrukcja break. Listing 8.5. pokazuje wykorzystanie tego typu pętli na przykładzie programu liczącego do 10.
Listing 8.5. Pętla while (1)
1
2
3
4
5
6
8:
9:
10
11
12
13
// Listing 8.5
// Demonstracja pętli while(1)
iinclude <iostream.h>
int main() I
int licznik = 0;
while (1) {
licznik++;
if (licznik > 10)
break;
16:
17:
18: }
W linii 32 obliczana jest reszta z dzielenia zmiennej mała przez zmienną pomiń. Jeśli mała jest wielokrotnością pomiń (reszta z dzielenia jest równa 0), to wykonywana jest instrukcja continue i program przechodzi do początku pętli, do linii 26. W rezultacie, pomijana jest reszta instrukcji pętli - sprawdzenie zmiennej ceł i zmniejszenie zmiennej duża.
W linii 38 porównujemy zmienną duża i zmienną cel. Jeśli są one takie same, to znaczy, że użytkownik wygrał. Wypisywany jest komunikat o zwycięstwie i wykonywana jest instrukcja break. Powoduje ona wyjście z pętli while i przejście do linii 46.
Instrukcje continue i break powinny być stosowane bardzo rozważnie. Podobnie jak goto bardzo gmatwają one kod. Program niespodziewanie przeskakuje w zupełnie inne miejsca. Nawet mała pętla while może się stać całkowicie nieczytelna.
Warunek sprawdzany w pętli (instrukcji) while może być dowolnym, poprawnym wyrażeniem C++. Pętla wykonuje się tak długo, jak jest on spełniony. Jeśli podasz wartość jeden w miejscu warunku, to otrzymasz pętlę, która nigdy się nie kończy. Ponieważ wartość 1 oznacza prawdę, to zakończyć pętle może jedynie instrukcja break. Listing 8.5. pokazuje wykorzystanie tego typu pętli na przykładzie programu liczącego do 10.
Listing 8.5. Pętla while (1)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10
11
12
13
14
15
16
17
18
// Listing 8.5
// Demonstracja pętli while(1)
Sinclude <iostream.h>
int main()
int licznik = 0;
licznik++; if (licznik > 10)
break;
cout « "Licznik: " « licznik « "\n"; return 0;
Licznik: 11