This repository has been archived on 2023-10-26. You can view files and clone it, but cannot push or open issues or pull requests.
VSMechatronics/Exercises/C21/ex2.c
2023-10-26 20:24:04 +01:00

45 lines
881 B
C

// Modified from C10 Ex5
#include <stdlib.h>
#include <stdio.h>
int date_to_day(int year, int month, int day) {
if (month < 3) {
month += 12;
year -= 1;
}
return ((13*month+3)/5 + day + year + year/4 - year/100 + year/400) % 7;
}
void print_day_of_week(int day) {
switch (day) {
case 0: printf("Monday\n"); break;
case 1: printf("Tuesday\n"); break;
case 2: printf("Wednesday\n"); break;
case 3: printf("Thursday\n"); break;
case 4: printf("Friday\n"); break;
case 5: printf("Saturday\n"); break;
case 6: printf("Sunday\n"); break;
}
}
int main(int argc, char *argv[]) {
int rc, year, month, day, nd;
if ( argc != 4 )
{
printf ("USAGE: %s year month day\n",argv[0]);
exit (0);
}
sscanf(argv[1],"%d",&year);
sscanf(argv[2],"%d",&month);
sscanf(argv[3],"%d",&day);
nd = date_to_day(year, month, day);
print_day_of_week(nd);
return 0;
}