Question: Write a program named DayOfWeek that computes the day of the week for any date entered by the user. The user will be prompted to

Write a program named DayOfWeek that computes the day of the week for any date entered by the user. The user will be prompted to enter a month, day, century, and year. The program will then display the day of the week for that date as a number between 0 and 6, where 0 represents Saturday and 6 represents Friday. The program will also print the alphabetic day of the week (Friday, Saturday, Sunday, etc.) The following example shows what the user will see on the screen:

This program calculates the day of the week for any date:

INPUT DATA

Enter month (1-12): 9

Enter day (1-31): 25

Enter century: 19

Enter year of the century: 98

OUTPUT DATA

Date is 9/25/1998

The day of the week is 6 - Friday

Hint: Use Zellers congruence to compute the day of the week. Use all integers for the data types. Zellers congruence relies on the following quantities:

j is the century (19 in our example, not the 20th century)

k is the year within the century (98)

m is the month (9)

q is the day of the month (25)

The day of the week is determined by the following formula:

h = (q + 26(m + 1)/10 + k + k/4 + j/4 + 5j)mod 7

The results of all divisions are truncated by the modulus operator. The value of h will lie between 0 (Saturday) and 6 (Friday). Note: Zellers congruence assumes that January and February are treated as months 13 and 14 of the previous year; this affects the values of k and m, and possibly the value of j. For full credit, just read in the four values (month, day, century, and year), plug them into the formula, and print the full date, h, the day of the week. This formula assumes that January and February are months 13 and 14 of the previous year. If you want the day of week for 1 1 2006, you must type in 13 1 2005. (For 2 1 2006, type 14 1 2005 and so on)

Run the following 9 sets of data for output:

5 17 2008 (Should be 0-Sat)

10 5 2008 (Should be 1-Sun)

9 15 2008 (Should be 2-Mon)

8 5 2008 (Should be 3-Tue)

9 13 2006 (Should be 4-Wed)

1 1 2009 (Should be 5-Thu) must be typed in as 13 1 2008

2 6 2009 (Should be 6-Fri) must be typed in as 14 6 2008

1 10 2000 (Should be 2-Mon) must be typed in as 13 10 1999

Your birth date (Check the Internet or call your mom to verify this day of week!)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!