C program to calculate age or Age Calculator
Write a C program to calculate age or Age Calculator.This program will read your date of birth and print the current age.
Age Calculator: This program will read your date of birth and print the current age. The logic is behind to implement this program – Program will compare given date with the current date and print how old are you?
It is a simple Program To Calculate Current Age of a Person by using Addition and Subtraction Operators. This C Program will calculate the age in Years, Months and Days.
Below is the source code of the C program to calculate age or Age Calculator which is successfully compiled and run on the windows system.The Output of the program is shown below.
SOURCE : :
#include <stdio.h> #include <time.h> /*check given year is leap year or not*/ int isLeapYear(int year, int mon) { int flag = 0; if (year % 100 == 0) { if (year % 400 == 0) { if (mon == 2) { flag = 1; } } } else if (year % 4 == 0) { if (mon == 2) { flag = 1; } } return (flag); } int main() { int DaysInMon[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int days, month, year; char dob[100]; time_t ts; struct tm *ct; /* enter date of birth */ printf("Enter your date of birth (DD/MM/YYYY): "); scanf("%d/%d/%d",&days,&month, &year); /*get current date.*/ ts = time(NULL); ct = localtime(&ts); printf("Current Date: %d/%d/%d\n", ct->tm_mday, ct->tm_mon + 1, ct->tm_year + 1900); days = DaysInMon[month - 1] - days + 1; /* leap year checking*/ if (isLeapYear(year, month)) { days = days + 1; } /* calculating age in no of days, years and months */ days = days + ct->tm_mday; month = (12 - month) + (ct->tm_mon); year = (ct->tm_year + 1900) - year - 1; /* checking for leap year feb - 29 days */ if (isLeapYear((ct->tm_year + 1900), (ct->tm_mon + 1))) { if (days >= (DaysInMon[ct->tm_mon] + 1)) { days = days - (DaysInMon[ct->tm_mon] + 1); month = month + 1; } } else if (days >= DaysInMon[ct->tm_mon]) { days = days - (DaysInMon[ct->tm_mon]); month = month + 1; } if (month >= 12) { year = year + 1; month = month - 12; } /* print age */ printf("\n## Hey you are %d years %d months and %d days old. ##\n", year, month, days); return 0; }
Also Read : : Write a C Program to Maintain Inventory items in Online Store
OUTPUT : :
Enter your date of birth (DD/MM/YYYY): 09/02/1997 Current Date: 17/3/2017 ## Hey you are 20 years 1 months and 6 days old. ##