Ta program preveri, ali je leto (celo število), ki ga vnese uporabnik, prestopno ali ne.
Če želite razumeti ta primer, morate poznati naslednje programske teme C ++:
- C ++ if, if … else in ugnezdeni if … else
Vsa leta, ki so popolnoma deljiva s 4, so prestopna leta, razen stoletnih let (leta, ki se končajo z 00), ki je le prestopno, popolnoma deljiva s 400.
Na primer: 2012, 2004, 1968 itd. So prestopno leto, 1971, 2006 itd. Pa niso prestopno leto. Podobno so 1200, 1600, 2000, 2400 prestopna leta, 1700, 1800, 1900 itd. Pa ne.
V spodnjem programu je uporabnik pozvan, da vpiše leto in ta program preveri, ali je leto, ki ga vnese uporabnik, prestopno ali ne.
Primer: Preverite, ali je leto prestopno ali 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; )
Izhod
Vnesite leto: 2014 2014 ni prestopno.
Tu smo z ugnezdenimi if
stavki preverili, ali je leto, ki ga je navedel uporabnik, prestopno ali ne.
Najprej preverimo, ali je leto deljivo s 4 ali ne. Če ni deljivo, potem ni prestopno leto.
Če je deljivo s 4, potem z notranjo if
izjavo preverimo, ali je leto deljivo s 100.
Če ni deljivo s 100, je še vedno deljivo s 4 in je torej prestopno leto.
Vemo, da stoletna leta niso prestopna, razen če jih delimo s 400.
Če je torej leto deljivo s 100, druga notranja if
izjava preveri, ali je deljivo s 400 ali ne.
Odvisno od rezultata te najgloblje if
izjave program določi, ali je leto prestopno ali ne.