Define structure named as date with three structure elements day, month and year.Write a program to scan the date of today and print date of tomorrow.
#include <stdio.h>
// Define structure date with three elements: day, month, and year
struct date {
int day;
int month;
int year;
};
// Function to check if a year is a leap year
int is_leap_year(int year) {
if (year % 4 == 0) {
if (year % 100 == 0) {
if (year % 400 == 0)
return 1;
else
return 0;
} else
return 1;
} else
return 0;
}
// Function to calculate the date of tomorrow
struct date calculate_tomorrow(struct date today) {
struct date tomorrow;
// Check if today's month has 31 days
if (today.month == 1 || today.month == 3 || today.month == 5 || today.month == 7 || today.month == 8 || today.month == 10 || today.month == 12) {
if (today.day == 31) {
tomorrow.day = 1;
tomorrow.month = today.month + 1;
tomorrow.year = today.year;
} else {
tomorrow.day = today.day + 1;
tomorrow.month = today.month;
tomorrow.year = today.year;
}
}
// Check if today's month has 30 days
else if (today.month == 4 || today.month == 6 || today.month == 9 || today.month == 11) {
if (today.day == 30) {
tomorrow.day = 1;
tomorrow.month = today.month + 1;
tomorrow.year = today.year;
} else {
tomorrow.day = today.day + 1;
tomorrow.month = today.month;
tomorrow.year = today.year;
}
}
// Check if today's month is February
else if (today.month == 2) {
if (is_leap_year(today.year)) {
if (today.day == 29) {
tomorrow.day = 1;
tomorrow.month = 3;
tomorrow.year = today.year;
} else {
tomorrow.day = today.day + 1;
tomorrow.month = today.month;
tomorrow.year = today.year;
}
} else {
if (today.day == 28) {
tomorrow.day = 1;
tomorrow.month = 3;
tomorrow.year = today.year;
} else {
tomorrow.day = today.day + 1;
tomorrow.month = today.month;
tomorrow.year = today.year;
}
}
}
// Check if today's month is December
else if (today.month == 12) {
if (today.day == 31) {
tomorrow.day = 1;
tomorrow.month = 1;
tomorrow.year = today.year + 1;
} else {
tomorrow.day = today.day + 1;
tomorrow.month = today.month;
tomorrow.year = today.year;
}
}
return tomorrow;
}
int main() {
struct date today;
// Scan the date of today
printf("Enter today's date (dd mm yyyy): ");
scanf("%d %d %d", & today.day, & today.month, & today.year);
// Calculate the date of tomorrow
struct date tomorrow = calculate_tomorrow(today);
// Print the date of tomorrow
printf("Tomorrow's date is: %d-%d-%d\n", tomorrow.day, tomorrow.month, tomorrow.year);
return 0;
}