Decyzje jeszcze raz
Na warsztat weźmiemy tym razem instrukcję switch
. Za jej pomocą sprawdzamy, czy w danej zmiennej są zapisane konkretne wartości. Najpierw przykład:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(){
/*przypisujemy X losowa wartosc od 1 do 5*/
int X;
srand(time(NULL));
X = rand() % 5 + 1;
switch(X){
case 1:
printf("Zmienna X jest rowna");
printf(" 1\n");
break;
case 2:
printf("Zmienna X jest rowna 2");
break;
case 3:
printf("Zmienna X jest rowna 3");
break;
case 4:
printf("Zmienna X jest rowna 4");
break;
default:
printf("Zmienna X jest rowna 5");
break;
}
return 0;
}
Po słowie switch
w nawiasach ()
umieszczamy zmienną, której wartość chcemy zbadać. Potem w nawiasach {}
umieszczamy wszystkie rozważane "przypadki". Po słowie case
umieszczamy wartość, z którą chcemy porównać zmienną, a potem dwukropek. Jeśli zmienna jest równa wartości po słówku case, to zostaną wykonane wszystkie instrukcje do wystąpienia słowa kluczowego break
albo do nawiasu }
zamykającego switch. Możesz się o tym przekonać usuwając pierwsze wystąpienie break
w powyższym przykładzie. Instrukcja default
jest opcjonalna i służy nam do obsłużenia wszystkich tych sytuacji, których nie uwzględniliśmy za pomocą case
. default
umieszczamy zawsze na końcu i prawdę powiedziawszy break
jest niepotrzebny, ale wielu programistów umieszcza go, aby uniknąć pomyłek przy modyfikowaniu programu w przyszłości.
Ćwiczenie
Za pomocą instrukcji switch
oraz operatora ++
, (zwiększa zmienną o jeden) spraw, aby niezależnie od wyniku losowania zmienna X zawsze miała wartość 4.