Více možností: else if
Pomocí if a else si program vybírá ze dvou možností. Často jich je ale víc. Fotbalový zápas například skončí jedním ze tří způsobů: vyhrají domácí, vyhrají hosté, nebo je remíza. Pro další možnosti přidejte větve else if („jinak pokud“), každou s vlastní podmínkou:
int goly_domaci = 3;
int goly_hoste = 2;
if (goly_domaci > goly_hoste) {
printf("Vyhráli domácí!\n");
} else if (goly_domaci < goly_hoste) {
printf("Vyhráli hosté!\n");
} else {
printf("Remíza!\n");
}Tento kód vypíše:
Vyhráli domácí!Program prochází podmínky shora dolů a provede blok první pravdivé podmínky. Zbývající větve přeskočí, i kdyby některé další podmínky byly také pravdivé. Blok else se provede, jen když není pravdivá žádná podmínka. Větví else if můžete přidat, kolik potřebujete, vždy mezi if a else. else na konci je nepovinné: bez něj se neprovede nic, když žádná podmínka není pravdivá.
Protože vyhrává první pravdivá podmínka, záleží na pořadí podmínek:
int body = 95;
if (body >= 50) {
printf("Prospěl\n");
} else if (body >= 90) {
printf("Výborně\n");
}Tento kód vypíše:
Prospěl95 bodů je výborný výsledek, ale už první podmínka, body >= 50, je pravdivá, takže se program k druhé vůbec nedostane. Větev s výpisem Výborně se tu neprovede nikdy, protože každé číslo, které je aspoň 90, je i aspoň 50. Přísnější podmínku dejte na začátek: nejdřív body >= 90, potom body >= 50.
Jak psát:
Pokyny
Při 15 °C se zimní kabát nehodí. Mezi blok if a else přidejte větev else if s podmínkou teplota > 10, která vypíše Vezměte si bundu.
Přidejte ještě jednu větev else if s podmínkou teplota > 18, která vypíše Vezměte si svetr, a změňte teplota na 20. Program by měl vypsat Vezměte si svetr. Pokud vypíše Vezměte si bundu, je podmínka teplota > 10 dřív a zachytí i 20 stupňů: přesuňte novou větev nad ni.
Začněte programovat zdarma
6/12