„C ++“ programa patikrinti keltuosius metus

Ši programa patikrina, ar vartotojo įvesti metai (sveikasis skaičius) yra keliamieji metai, ar ne.

Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C ++ programavimo temas:

  • C ++, jei, jei… dar kitaip, ir įdėta, jei … kita

Visi metai, kurie puikiai dalijasi iš 4, yra keliamieji metai, išskyrus šimtmečio metus (metus, pasibaigiančius 00), kurie yra keliamieji metai, tik jie puikiai dalijasi iš 400.

Pvz .: 2012, 2004, 1968 ir kt. Yra keliamieji metai, bet 1971, 2006 ir kt. Nėra keliamieji metai. Panašiai 1200, 1600, 2000, 2400 yra keliamieji metai, bet 1700, 1800, 1900 ir kt.

Šioje žemiau pateiktoje programoje vartotojo prašoma įvesti metus ir ši programa patikrina, ar vartotojo įvesti metai yra keliamieji, ar ne.

Pavyzdys: patikrinkite, ar metai yra keliamieji metai, ar 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; ) 

Rezultatas

 Įveskite metus: 2014 m. 2014 m. Nėra keliamieji metai.

Čia mes naudojome įdėtus ifteiginius, kad patikrintume, ar vartotojo nurodyti metai yra keliamieji metai, ar ne.

Pirmiausia patikriname, ar metai dalijasi iš 4, ar ne. Jei jis nėra dalinamas, tai nėra keliamieji metai.

Jei jis dalijasi iš 4, tada mes naudojame vidinį ifteiginį, kad patikrintume, ar metai dalijasi iš 100.

Jei jis nedalija iš 100, jis vis tiek dalijasi iš 4, taigi tai keliamieji metai.

Mes žinome, kad šimtmečio metai nėra keliamieji metai, nebent jie dalijasi iš 400.

Taigi, jei metai dalijasi iš 100, kitu vidiniu ifteiginiu patikrinama, ar jie dalijasi iš 400, ar ne.

Priklausomai nuo to vidinio ifteiginio rezultato, programa nustato, ar metai yra keliamieji, ar ne.

Įdomios straipsniai...