Program C ++ ke kontrole přestupného roku

Tento program kontroluje, zda je rok (celé číslo) zadaný uživatelem přestupným rokem nebo ne.

Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata C ++:

  • C ++ if, if … else a Nested if … else

Všechny roky, které jsou dokonale dělitelné 4, jsou přestupné roky, s výjimkou stoletých let (roky končící 00), což je pouze přestupný rok, je dokonale dělitelné 400.

Například: 2012, 2004, 1968 atd. Jsou přestupným rokem, ale 1971, 2006 atd. Nejsou přestupným rokem. Podobně jsou přestupné roky 1200, 1600, 2000, 2400, ale 1700, 1800, 1900 atd. Tomu tak není.

V tomto níže uvedeném programu je uživatel vyzván k zadání roku a tento program kontroluje, zda je rok zadaný uživatelem přestupným rokem.

Příklad: Zkontrolujte, zda je rok přestupným rokem nebo ne

 #include using namespace std; int main() ( int year; cout <> year; if (year % 4 == 0) ( if (year % 100 == 0) ( if (year % 400 == 0) cout << year << " is a leap year."; else cout << year << " is not a leap year."; ) else cout << year << " is a leap year."; ) else cout << year << " is not a leap year."; return 0; ) 

Výstup

 Zadejte rok: 2014 2014 není přestupný rok.

Zde jsme pomocí vnořených ifpříkazů zkontrolovali, zda je rok daný uživatelem přestupným rokem nebo ne.

Nejprve zkontrolujeme, zda je rok dělitelný 4 nebo ne. Pokud to není dělitelné, pak to není přestupný rok.

Pokud je dělitelný 4, použijeme vnitřní ifpříkaz ke kontrole, zda je rok dělitelný 100.

Pokud to není dělitelné 100, je to stále dělitelné 4, takže je to přestupný rok.

Víme, že stoleté roky nejsou přestupnými roky, ledaže by byly dělitelné 400.

Pokud je tedy rok dělitelný 100, další vnitřní ifpříkaz zkontroluje, zda je dělitelný 400 nebo ne.

V závislosti na výsledku tohoto nejvnitřnějšího ifprohlášení program určí, zda je rok přestupným rokem nebo ne.

Zajímavé články...