Poznaj C++ w$ godziny0134

Poznaj C++ w$ godziny0134



122 Godzina 8

wyrażenie to dowolne poprawne wyrażenie C++, natomiast instrukcje to dowolne poprawne instrukcje C++ (również bloki instrukcji). Instrukcja switch oblicza wartość podanego wyrażenia i porównuje z wartościami podanymi przy case. Zauważ, że sprawdzana jest tylko relacja równości, nie można tu możliwości wykorzystania innych relacji.

Jeśli któraś z wartości przy case jest równa wartości wyrażenia to program przechodzi do podanych dalej instrukcji i wykonuje wszystko do końca bloku switch tak długo, aż napotka instrukcję break. Jeśli żadna z wartości nie jest równa wartości wyrażenia to wykonywane są instrukcje przy słowie kluczowym default. Jeśli nie określimy instrukcji default i program nie odnajdzie pasującej wartości, to instrukcja switch nie zrobi nic, zostanie pominięta.


Dobrym zwyczajem jest wykorzystywanie instrukcji default. Nawet jeśli nie musisz jej używać, to wykorzystaj ją do ewentualnego wypisania niepoprawnej, nie występującej przy żadnym z case wartości i poinformowania o błędzie. Takie postępowanie pozwoli Ci na łatwiejsze wyszukiwanie błędów w programach.


Bardzo ważne jest, że jeśli nie ma instrukcji break na końcu każdego case, to program wykona wszystkie instrukcje od pasującego case aż do końca switch (jeśli gdzieś niżej napotka break, to oczywiście przerwie wykonywanie). Jeśli decydujesz się na takie rozwiązanie, to pamiętaj o umieszczeniu odpowiedniego komentarza informującego o tym, że brak break jest zamierzony.

Listing 8.15. ilustruje wykorzystanie instrukcji switch.

Listing 8.15. Demonstracja Instrukcji switch

1

2

3

4

5

6

7

8

9

10 11 12


// Listing 8.15

// Demonstracja instrukcji switch

#include <iostream.h>

int main ()

{

unsigned short int numer;

cout « "Podaj liczbę miedzy 1 a 5:

cin » numer;

switch {

(numer)

13

14

case 0

cout

«

"Przepraszam, za

mało! "; break;

15

case 5

cout

«

"Dobra robota!\n'

; // idz dalej

16

case 4

cout

«

"Dobry strzał!\n'

; // idz dalej

17

case 3

cout

«

"Doskonale!\n";

// idz

dalej

18

case 2

cout

«

"Władczo!\n";

// idz

dalej

19

case 1

cout

«

"Niesamowicie!\n’

.

t

wyrażenie to dowolne poprawne wyrażenie C++, natomiast instrukcje to dowolne poprawne instrukcje C++ (również bloki instrukcji). Instrukcja switch oblicza wartość podanego wyrażenia i porównuje z wartościami podanymi przy case. Zauważ, że sprawdzana jest tylko relacja równości, nie można tu możliwości wykorzystania innych relacji.

Jeśli któraś z wartości przy case jest równa wartości wyrażenia to program przechodzi do podanych dalej instrukcji i wykonuje wszystko do końca bloku switch tak długo, aż napotka instrukcję break. Jeśli żadna z wartości nie jest równa wartości wyrażenia to wykonywane są instrukcje przy słowie kluczowym default. Jeśli nic określimy instrukcji default i program nie odnajdzie pasującej wartości, to instrukcja switch nie zrobi nic, zostanie pominięta.


Dobrym zwyczajem jest wykorzystywanie instrukcji default. Nawet jeśli nie musisz jej używać, to wykorzystaj ją do ewentualnego wypisania niepoprawnej, nie występującej przy żadnym z case wartości i poinformowania o błędzie. Takie postępowanie pozwoli Ci na łatwiejsze wyszukiwanie błędów w programach.


Bardzo ważne jest, że jeśli nie ma instrukcji break na końcu każdego case, to program wykona wszystkie instrukcje od pasującego case aż do końca switch (jeśli gdzieś niżej napotka break, to oczywiście przerwie wykonywanie). Jeśli decydujesz się na takie rozwiązanie, to pamiętaj o umieszczeniu odpowiedniego komentarza informującego o tym, że brak break jest zamierzony.

Listing 8.15. ilustruje wykorzystanie instrukcji switch.

Listing 8.15. Demonstracja Instrukcji switch

1:

2:

3:

4:

5:

6:

7:

8:

9:

10

11

12

13

14

15

16

17

18 19


// Listing 8.15

// Demonstracja instrukcji switch

#include <iostream.h>

int main()

(

unsigned short int numer;

cout « "Podaj liczbę miedzy 1 a 5: ";

cin » numer;

switch (numer)

I

case 0 : cout « "Przepraszam, za mało!

break;

case 5 : cout « "Dobra robota!\n"; // idz dalej case 4 ; cout « "Dobry strzał!\n"; // idz dalej case 3 : cout « "Doskonale!\n";    // idz dalej

case 2 : cout « "Władczo!\n”;    // idz dalej

case 1 : cout « "Niesamowicie!\n";


Wyszukiwarka

Podobne podstrony:
Poznaj C++ w$ godziny0023 Zaczynamy 7 C++ to nie tylko lepsze C Prawdą jest, że C++ to rozbudowane C
Poznaj C++ w$ godziny0076 62Godzina 5 A oto kilka poprawnych definicji: long Pole(long d, long s){ r
Poznaj C++ w$ godziny0052 Godzina 4Instrukcje i wyrażenia Program to zbiór instrukcji wykonywanych s
Poznaj C++ w$ godziny0054 Instrukcje i wyrażenia 39Wyrażenia m Wszystko co zwraca w C++ jakąś wartoś
Poznaj C++ w$ godziny0120 108 Godzina 8Złożona instrukcja while Warunek w instrukcji while może być
Poznaj C++ w$ godziny0056 Instrukcje i wyrażenia 41 Dzielenie całkowite wygląda trochę inaczej niż z
Poznaj C++ w$ godziny0058 Instrukcje i wyrażenia 43Listing 4.2. Obliczanie wartości wyrażenia // Lis
Poznaj C++ w$ godziny0060 Instrukcje i wyrażenia 45Nawiasy zagnieżdżone Dla bardziej skomplikowanych
Poznaj C++ w$ godziny0062 Instrukcje i wyrażenia 47Instrukcja if Normalnie program wykonuje się lini
Poznaj C++ w$ godziny0064 Instrukcje i wyrażenia 49) ł else instrukcja4; Ta zawikłana instrukcja if
Poznaj C++ w$ godziny0066 Instrukcje i wyrażenia 51 11:    if (x > 10) 12:  &
Poznaj C++ w$ godziny0068 Instrukcje i wyrażenia 53 Tabela 4.2. Operatory logiczne Operator Symbol
Poznaj C++ w$ godziny0069 54 Godzina 4Kolejność wykonywania operatorów logicznych Operatory relacji
Poznaj C++ w$ godziny0070 Instrukcje i wyrażenia 55 if (x != 0)    // jeśli x jest ró
Poznaj C++ w$ godziny0071 Godzina 5Funkcje Kiedy ktoś mówi o C++ to ma na myśli przede wszystkim obi
Poznaj C++ w$ godziny0086 72 Godzina 5 Kiedy wywołasz funkcję 10 razy, to program tyle samo razy „sk
Poznaj C++ w$ godziny0089 Funkcje 75 Kiedy wartość jest odkładana na stos, to jest umieszczana w kom
Poznaj C++ w$ godziny0095 Proste klasy 81 Proste klasy 81 NOWY TERMIN Klienci twojej klasy to inne k

więcej podobnych podstron