Project 1 – Day of the Week Objectives: Use input and output statements Use assi
ID: 3793947 • Letter: P
Question
Project 1 – Day of the Week
Objectives:
Use input and output statements
Use assignment statements
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 Zeller’s congruence to compute the day of the week. Use all integers for the data types. Zeller’s 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: Zeller’s 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 birth date (Check the Internet or call your mom to verify this day of week!)
Submission:
Turn in the algorithm, the source code (properly documented), the output, and a signed Academic Honesty Promise all zipped into a folder. Submit to D2L
Extra Credit:
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 don’t 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.
Algorithm for Project 1 (without the extra credit)
Define variables m (month), q (day), j (century – 20 in 2017), k (year of century – 17 in 2017), h (numeric day of week) as integers.
Prompt user for and input m, q, j, k
Calculate the numeric day of week (h) (Show formula used)
Print the numeric day of week
Stop
Explanation / Answer
Please find below the code.
Input: if you needbtoday ime.Feb 17,2017/ u need to enter 14month 17day 2016.------------
----------------------------------------------------------
#include <stdio.h>
int main() {
int m,q,j,k;
printf(This program calculates the day of the week for any date!! ");
printf("Enter month: 1-12: ");
scanf("%d", &m);
printf("Enter the day of the month: 1-31: ");
scanf("%d", &q);
printf(""Enter century (e.g., 20): "");
scanf("%d", &j);
printf("Enter year of century(Ex:17): ");
scanf("%d", &k);
/*Determine if year is a leap year*/
double h = q+(26*(m+1)/10)+k+(k/4)+(j/4)+(5*j);
int WeekDay;
WeekDay=h;
WeekDay %= 7;
//Display the name of the day of the week
if (weekDay == 0)
printf("Day of the week is Saturday");
else if (weekDay == 1)
printf("Day of the week is Sunday");
else if (weekDay == 2)
printf("Day of the week is Monday");
else if (weekDay == 3)
printf("Day of the week is Tuesday");
else if (weekDay == 4)
printf("Day of the week is Wednesday");
else if (weekDay == 5)
printf("Day of the week is Thursday");
else
printf("Day of the week is Friday");
return 0;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.