#include <stdio.h>
#include <stdlib.h>
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
int main (void)
{ int day = 0,
month
= 0,
year
= 0,
day_of_week
= 0,
leap_year
= 0;
ret_val
= 0;
while
( ret_val != 3 )
{ printf("Enter a date
between 01:01:1800 - 31:12:1999 (DD:MM:YYYY) > ");
scanf("%d:%d:%d",&day,&month,&year);
}
printf("Enter
a date between 01:01:1800 - 31:12:1999 (DD:MM:YYYY) > ");
scanf("%d:%d:%d",&day,&month,&year);
day_of_week = (year % 100) + ((year %
100) * 0.25);
day_of_week += day;
if (year % 4 == 0 && year % 100
!= 0 || year % 400 == 0)
leap_year = TRUE;
else
leap_year = FALSE;
switch (month)
{ case 1:
if
(leap_year == FALSE)
day_of_week
+= 1;
break;
case 2:
if
(leap_year == TRUE)
day_of_week
+= 3;
else
day_of_week
+= 4;
break;
case 3:
day_of_week
+= 4;
break;
case 5:
day_of_week
+= 2;
break;
case 6:
day_of_week
+= 5;
break;
case 8:
day_of_week
+= 3;
break;
case 9:
day_of_week
+= 6;
break;
case 10:
day_of_week
+= 1;
break;
case 11:
day_of_week
+= 4;
break;
case 12:
day_of_week
+= 6;
break;
}
if ( year < 1900 )
day_of_week +=
2;
day_of_week
= day_of_week % 7;
switch (day_of_week)
{ case 1:
printf("%d:%d:%d
was a Sunday\n", day, month, year);
break;
case 2:
printf("%d:%d:%d
was a Monday\n", day, month, year);
break;
case 3:
printf("%d:%d:%d
was a Tuesday\n", day, month, year);
break;
case 4:
printf("%d:%d:%d
was a Wednesday\n", day, month, year);
break;
case 5:
printf("%d:%d:%d
was a Thursday\n", day, month, year);
break;
case 6:
printf("%d:%d:%d
was a Friday\n", day, month, year);
break;
case 0:
printf("%d:%d:%d
was a Saturday\n", day, month, year);
break;
}
return EXIT_SUCCESS;
} |