In this tutorial, we will write a leap year program in C++. You may go through the following topics first in order to understand the problem.
A leap year comes after every 4 years and has 366 days that year instead of 365 days. In the leap year, an additional day is added to the February month and it becomes 29 days instead of 28 days.
Now let us understand through mathematical logic,
- If a year is divisible by 4 then it is leap year.
- If a year is divisible by 400 and not divisible by 100 then it is also a leap year.
- Example: 2000, 2004, 2008, etc are the leap years.
Question: write a c++ program to check whether a year is a leap year or not.
We will learn two ways to do the program:
- Within main function
- With user-defined function
C++ Program to Check Leap Year
The program takes user input for the year that needed to be checked and check with the condition using an if-else statement
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | //C++ Program to check for the Leap year #include <iostream> using namespace std; int main() { int year; cout << "Enter a year to check: "; cin >> year; //checking for leap year if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) cout << year << " is a leap year"; else cout << year << " is not a leap year"; return 0; } |
Output:
//Run 1
Enter a year to check: 2014
2014 is not a leap year
//Run 2
Enter a year to check: 2024
2024 is a leap year
Check for leap year using a function in C++
We will create a separate function to check for the leap year. The year entered by the user is passed to the function as an argument.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <iostream> using namespace std; // function to check for leap year int checkLeapYear(int year) { if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) return 1; else return 0; } // main function int main() { int yr, result; cout << "Enter the Year: "; cin >> yr; //calling a function result = checkLeapYear(yr); if (result == 1) cout << yr << " is a Leap Year"; else cout << yr << " is NOT a Leap Year"; return 0; } |
Output:
Enter the Year: 1998
1998 is NOT a Leap Year