Posts

Program to scan the date of today and print date of tomorrow.

Trial

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;

}

Post a Comment