Answered step by step
Verified Expert Solution
Link Copied!
Question
1 Approved Answer

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

Instructions:
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, 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 following example shows what the user will see on the screen:
This program calculates the day of the week for any date.
Enter month (1-12): 9
Enter day (1-31): 25
Enter century: 19
Enter year of the century: 98
The day of the week is 6 (0-Sat, 1-Sun, 2-Mon, 3-Tue, 4-Wed, 5-Thu, 6-Fri)
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)
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 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:
Run the following 8 sets of data to fully test your program:
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 birthday
Extra:
Use an if statement, or a switch statement, to print the actual word for the day of the week, ie. Saturday, Sunday, Monday, Tuesday, etc. and adjusting the month of January and February so you dont have to type in month 13 and 14 with the earlier year. Also you must consider a January date in 2000 that has to be set back to 1999.
Use the original data as given above. The last three should be entered as:
1 1 2009
2 6 2009
1 10 2000

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image
Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database And Expert Systems Applications 33rd International Conference Dexa 2022 Vienna Austria August 22 24 2022 Proceedings Part 1 Lncs 13426

Authors: Christine Strauss ,Alfredo Cuzzocrea ,Gabriele Kotsis ,A Min Tjoa ,Ismail Khalil

1st Edition

3031124227, 978-3031124228

More Books

Students explore these related Databases questions

Question

List all the permutations of {a, b, c}.

Answered: 3 weeks ago