Difference between r1.4 and the current
@@ -9,6 +9,10 @@
void print_days(int day);
int daysOfMonth(int month, int year);
int IsLeafYear(int year);
void printCalender(int year, int first)
{
int daysOfMonth(int month, int year);
int IsLeafYear(int year);
}}}
== Calendar.cpp ==
{{{
#include "Calender.h"
void printCalender(int year, int first)
{
@@ -39,7 +43,7 @@
printf(" April %d \n", year);
break;
case 5:
case 6:
printf(" June %d \n", year);
break;
case 5:
printf(" May %d \n", year);
printf(" May %d \n", year);
break;case 6:
printf(" June %d \n", year);
@@ -150,7 +154,7 @@
}
}}}
== main.cpp ==
#include "Calender.h"
}}}
== main.cpp ==
{{{
#include <stdio.h>#include "Calender.h"
@@ -165,7 +169,6 @@
printCalender(year, first);
}
}}}
Calendar.h ¶
#include <stdio.h> void printCalender(int year, int first); void printFirstTab(int month, int year); int printDays(int month, int year, int leftDays); void print_space(); void print_days(int day); int daysOfMonth(int month, int year); int IsLeafYear(int year);
Calendar.cpp ¶
#include "Calender.h" void printCalender(int year, int first) { int month, leftDays; for(month = 1 ; month <= 12 ; month++) { printFirstTab(month, year); leftDays = printDays(month, year, first); first = leftDays; } } void printFirstTab(int month, int year) { switch(month) { case 1: printf(" January %d \n", year); break; case 2: printf(" February %d \n", year); break; case 3: printf(" March %d \n", year); break; case 4: printf(" April %d \n", year); break; case 5: printf(" May %d \n", year); break; case 6: printf(" June %d \n", year); break; case 7: printf(" July %d \n", year); break; case 8: printf(" August %d \n", year); break; case 9: printf(" September %d \n", year); break; case 10: printf(" October %d \n", year); break; case 11: printf(" November %d \n", year); break; case 12: printf(" December %d \n", year); break; } printf("---------------------------------------------------\n"); printf("Mon Tue Wed Thu Fri Sat Sun\n"); } int printDays(int month, int year, int leftDays) { int cnt = 0; int day = daysOfMonth(month, year); for(int i = 1 ; i <= leftDays ; i++) { print_space(); //print space leftDays times cnt++; } for(int nowday = 1 ; nowday <= day ; nowday++) //print day from 1 to day { if(cnt == 7){ printf("\n"); cnt = 0; } print_days(nowday); cnt++; } printf("\n\n"); return cnt; } void print_space() { printf("\t"); } void print_days(int day) { printf("%d\t", day); } int daysOfMonth(int month, int year) { int days; switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; case 4: case 6: case 9: case 11: days = 30; break; case 2: if(IsLeafYear(year) == 0) days = 29; else days = 28; break; } return days; } int IsLeafYear(int year) { if(year%4 == 0) return 0; //True if(year%100 == 0) return 1; //False if(year%400 == 0) return 0; //True else return 1; //False }
main.cpp ¶
#include <stdio.h> #include "Calender.h" int main() { int year, first; printf("Input the year : "); scanf("%d", &year); printf("Input the first day of week in January (0:Mon -- 6:Sun)"); scanf("%d", &first); printCalender(year, first); return 0; }