Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* HW1 Onyedi Anyansi
- Calendar */
- #include <stdio.h>
- #include <math.h>
- //2000 starts on saturday
- int findstartday(int year)
- {
- int i = 0;
- int yc = 2006;
- if (year > 2006)
- {
- while (year > yc)
- {
- if(yc%4 == 0)
- {
- if(yc % 100 == 0)
- {
- if (yc % 400 == 0) i = i + 2;
- else i++;
- }
- else i = i + 2;
- }
- else i++;
- yc++;
- }
- i = i % 7;
- }
- if (year < 2006)
- {
- while (year < yc)
- {
- if((yc-1) % 4 == 0)
- {
- if((yc-1) % 100 == 0)
- {
- if ((yc-1) % 400 == 0) i = i + 2;
- else i++;
- }
- else i = i + 2;
- }
- else i++;
- yc--;
- }
- i = i % 7;
- if (i == 6) i = 1;
- else if (i == 5) i = 2;
- else if (i == 4) i = 3;
- else if (i == 3) i = 4;
- else if (i == 2) i = 5;
- else if (i == 1) i = 6;
- }
- return i;
- }
- int printMonthName(int year, int month)
- {
- switch(month)
- {
- case 1:
- printf("January %d \n\n",year);
- break;
- case 2:
- printf("February %d \n\n",year);
- break;
- case 3:
- printf("March %d \n\n",year);
- break;
- case 4:
- printf("April %d \n\n",year);
- break;
- case 5:
- printf("May %d \n\n",year);
- break;
- case 6:
- printf("June %d \n\n",year);
- break;
- case 7:
- printf("July %d \n\n",year);
- break;
- case 8:
- printf("August %d \n\n",year);
- break;
- case 9:
- printf("September %d \n\n",year);
- break;
- case 10:
- printf("October %d \n\n",year);
- break;
- case 11:
- printf("November %d \n\n",year);
- break;
- case 12:
- printf("December %d \n\n",year);
- break;
- }
- if (month <= 7)
- {
- if (month % 2 == 1) return 31;
- else if (month == 2)
- {
- if(year % 4 == 0)
- {
- if(year % 100 == 0)
- {
- if (year % 400 == 0) return 29;
- else return 28;
- }
- else return 29;
- }
- else return 28;
- }
- else return 30;
- }
- else
- {
- if (month % 2 == 1) return 30;
- else return 31;
- }
- }
- int printMonth(int year, int month, int day)
- {
- int days;
- int i = 0;
- int count = 1;
- days = printMonthName (year, month);
- printf("Sun Mon Tue Wed Thu Fri Sat\n");
- while (i < day)
- {
- //if (day == 0) break;
- printf(" ");
- i++;
- }
- while (count <= days)
- {
- if (i >= 6)
- {
- printf("%d \n", count);
- i = -1;
- }
- else printf("%d ", count);
- i++;
- count++;
- }
- return i;
- }
- int printCalendar(int year, int day)
- {
- int i = 1;
- int sday;
- sday = day;
- printf("\n \n!!Calendar for %d!! \n\n",year);
- for (i = 1; i <= 12; i++)
- {
- sday = printMonth(year, i, sday);
- printf("\n \n");
- }
- return 0;
- }
- int main(void)
- {
- int year, i, lol;
- printf("Enter the year for this calendar:-");
- scanf("%d", &year);
- i = findstartday(year);
- lol = printCalendar(year, i);
- return 0;
- }
Add Comment
Please, Sign In to add comment