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ěl

95 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.

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

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

6/12