Your program must check for input validity it must display


Question 02: Write a modular C program to compute and display the day-number in a year for a date that is input at the keyboard. A day-number for a date is the number of days from 1st January of the date's year to the date. For example: The day number of 3rd February is 34, the day number of 5th March is 64 if the year is a non-leap year; otherwise it is 65 (A leap year is a year that has 366 days; a non-leap year has 365 days).

Your program must check for input validity. It must display an appropriate error message and terminate if the three inputs for date (day, month, and year) do not form a valid date.

In addition to the main function your program must use the following functions:

  • A function that displays the following message to the user:

         "This program computes and displays the day number of a date input as:  day   month   year."

  • Abooleanfunction (implemented as anintfunction) that tests for input validity. The function returns 1 if the three inputs form a valid date; otherwise it returns zero. This function must not haveprintforscanfcalls.
  • Abooleanfunction (implemented as anintfunction) that returns 1 if its parameter year is a leap year; otherwise it returns 0 (A leap year is a year that has 366 days). This function must not haveprintforscanfcalls.
  • Anintfunction that returns the day-number of a particular date. This function must not haveprintforscanfcalls.

Note:

  • A year is a leap year if it is divisible by 400; otherwise if it is divisible by 4andnot divisible by 100.
  • Assume a year is between 1900 and 3000 inclusive, i.e.,1900 ≤ year ≤ 3000
  • Your program must be general.
  • For grading purposes, each non-main function must be written after the main.
  • Your program must behave as the sample program runs below.
  • You may use the table of day-numbers given below to test your program.

Sample program runs:



Date

Day number

Comment

February 29, 2015

invalid

2015 is not a leap year

March 27, 2015 (Fri)

Day 86

 

April 9, 2016 (Sat)

Day 100

2016 is a leap year

September 14, 2016 (Wed)

Day 258


Request for Solution File

Ask an Expert for Answer!!
Basic Computer Science: Your program must check for input validity it must display
Reference No:- TGS01280550

Expected delivery within 24 Hours