Instrukcja warunkowa to nic innego jak zadanie programowi pytania np.:
- Czy otrzymałeś już wszystkie dane?
- Czy życie bossa spadło do 0?
- Czy osiągnięcie zostało zdobyte przez gracza?
- Czy liczba jest większa od maksymalnie dopuszczanej?
if (condition) {
// do sth
}
A co w przypadku, gdy wiele informacji musi być spełnionych?
Możemy połączyć warunki operatorem lub (||
, or
) bądź i (&&
, and
)
if (are_potatoes_eaten && is_meat_eaten && is_salad_eaten)
Wszystkie 3 warunki muszą zostać spełnione
if (player_has_20_dex || player_has_18_int || player_has_22_str)
W tym przypadku wystarczy spełnić jeden z 3 warunków. Mogą zostać spełnione wszystkie, ale wystarczy by został spełniony jeden dowolny.
Jeżeli program może różnie zareagować na spełnienie jakiś warunków możemy zastosować konstrukcje if else
if (number < 2) {
critical_miss();
} else if (number < 18) {
hit();
} else {
critical_hit();
}
char option = getInput();
switch (option) {
case 'l':
goLeft();
break;
case 'r':
goRight();
break;
default:
exit();
}
case
oznacza konkretny przypadekbreak
informuje, że wychodzimy z instrukcji warunkowejswitch
i kontynuujemy dalej program. Jego brak spowoduje, że wykonają się instrukcje z kolejnegocase
.default
jest to miejsce gdzie program dotrze, gdy żaden inny warunek nie zostanie spełniony- Zmienna sterująca instrukcją
switch/case
musi być typu liczbowego całkowitego czyli np.int
,char
,long
etc. Może być także typu wyliczeniowegpenum
, który także jest widziany przez program jako liczba całkowita
Dopisz funkcję max
. Ma ona zwracać maksymalną z trzech podanych wartości. Pobierz zadanie
#include <iostream>
// Write your function here
int main() {
std::cout << "max (1, 2, 3): " << max(1, 2, 3) << "\n";
std::cout << "max (2, 3, 1): " << max(2, 3, 1) << "\n";
std::cout << "max (3, 2, 1): " << max(3, 2, 1) << "\n";
return 0;
}