In this tutorial, we will show how to check whether an entered year is a leap year or not in C++ programs.

**First Program – Using logical operator in the if statement to check leap year**

In the first program, we used if..else statement to check if a year is a leap or not.

The if statement uses a logical operator OR i.e. “||”.

A little explanation is also commented in the code below:

#include<iostream> using namespace std; int main() { int year; //Taking user input for a year cout << "What year do you want to check? "; cin >> year; //Using single if statement to check all conditions //Checking if year can be divided by 4 or not divisible by 100 OR year is divisible by 400 if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) cout<<year<<" is a leap year"; //If above both criteria fails then its not a leap year else cout<<year<<" is not a leap year"; return 0; }

**Sample Output as we entered the year 1900:**

1900 is not a leap year

Not a leap year as it can be divided by 100.

**Sample Output as we entered the year 2000:**

Leap year as it can be divided by 400.

**Sample Output as we entered the year 2016:**

Leap year as it can be divided by 4 but not by 100.

**Sample Output as we entered the year 2017:**

Not a leap year because it can’t be divided by 400, as well as 4.

**What is a leap year?**

- A leap year contains an additional day than other years.
- The day is added to the month of February i.e. normally Feb is 28 days month while the leap year’s Feb is 29 days.
- The leap year occurs once every four years.
- However, if a year is
**divisible**by**100**is not a leap year. For example, 1900 is divisible by 4 and also by 100 but it’s not a leap year. - Similarly, a year divisible by 400 is a leap year. For example, 2000 is divisible by 4 as well as 400 so, it was a leap year.

**C++ program to find if a year is leap year or not – if..else if ladder**

We may find out if a year is a leap or not by using different ways that handle all three conditions.

In the second program, we will use the **modulus operator** in if, else if…else statements to check if the entered year is leap or not.

A user is asked to enter the year to be and we will get it through all conditions.

#include <iostream> using namespace std; int main() { int year; //Taking user input for a year cout << "What year do you want to check? "; cin >> year; // It must be a leap year if divisible by 400 - so this is our first condition to check if (year % 400 == 0) { cout << year << " is a leap year."; } //if a year is not divisible by 400 but can be divided by 100 this is not a leap year e.e 1900, 1800 else if (year % 100 == 0) { cout << year << " is not a leap year."; } // if both above conditions are false then we will check if the year can be divided by 4, if yeas then it's a leap year else if (year % 4 == 0) { cout << year << " is a leap year."; } // If all conditions are false, the entered year is not a leap year else { cout << year << " is not a leap year."; } return 0; }

**Sample Output as we entered year 1900:**

1900 is not a leap year.

Not a leap year as it can be divided by 100.

You may check other years by copying/pasting the code in your C++ IDE and executing the above programs.