Programma C ++ per controllare l'anno bisestile

Questo programma controlla se un anno (intero) inserito dall'utente è un anno bisestile o meno.

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione C ++:

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

Tutti gli anni che sono perfettamente divisibili per 4 sono bisestili ad eccezione degli anni del secolo (anni che terminano con 00) che è solo un anno bisestile ed è perfettamente divisibile per 400.

Ad esempio: 2012, 2004, 1968 ecc. Sono anni bisestili, ma 1971, 2006 ecc. Non sono anni bisestili. Allo stesso modo, 1200, 1600, 2000, 2400 sono anni bisestili ma, 1700, 1800, 1900 ecc. Non lo sono.

In questo programma di seguito, all'utente viene chiesto di inserire un anno e questo programma controlla se l'anno immesso dall'utente è bisestile o meno.

Esempio: controlla se un anno è bisestile o meno

 #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; ) 

Produzione

 Inserisci un anno: 2014 Il 2014 non è un anno bisestile.

Qui, abbiamo utilizzato ifistruzioni annidate per verificare se l'anno fornito dall'utente è un anno bisestile o meno.

Innanzitutto, controlliamo se l'anno è divisibile per 4 o meno. Se non è divisibile, non è un anno bisestile.

Se è divisibile per 4, utilizziamo un'istruzione interna ifper verificare se year è divisibile per 100.

Se non è divisibile per 100, è ancora divisibile per 4 e quindi è un anno bisestile.

Sappiamo che gli anni del secolo non sono bisestili a meno che non siano divisibili per 400.

Quindi, se l'anno è divisibile per 100, un'altra ifistruzione interna controlla se è divisibile per 400 o meno.

A seconda del risultato di ifquell'affermazione più intima , il programma determina se l'anno è bisestile o meno.

Articoli interessanti...