PHP Code:
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
int leapyear(int year)
{
if ( (year%4==0) && (year%400==0) )
{
return 1;
}
if ( (year%4==0) && (year%100!=0) )
{
return 1;
}
return 0;
}
void getweekday(int month, int day, int year, int *week)
{
int centurycode, monthcode[13], C, D;
monthcode[0]=1;
monthcode[1]=1;
monthcode[2]=4;
monthcode[3]=4;
monthcode[4]=0;
monthcode[5]=2;
monthcode[6]=5;
monthcode[7]=0;
monthcode[8]=3;
monthcode[9]=6;
monthcode[10]=1;
monthcode[11]=4;
monthcode[12]=6;
C=year/100;
D=year%100;
if (C==17)
{
centurycode=4;
}
if (C==18)
{
centurycode=2;
}
if (C==19)
{
centurycode=0;
}
if (C==20)
{
centurycode=6;
}
*week = (centurycode + (D/4 + D)%7 +monthcode[month] + day)%7;
}
void drawcalendar(int days, int firstday)
{
int i, daythen;
char space = ' ';
if (firstday == 0)
{
firstday = 7;
}
daythen=firstday;
printf("SUN MON TUE WED THU FRI SAT\n");
for (i=1; i<firstday; i++)
{
printf("%3c ", space);
}
for (i=1; i<=days; i++)
{
printf("%3d ", i);
daythen++;
if (daythen>7 && i != days)
{
daythen=1;
printf("\n");
}
}
printf("\n\n\n");
}
void writecalendar(int days, int firstday, FILE *fp)
{
int i, daythen;
char space = ' ';
if (firstday == 0)
{
firstday = 7;
}
daythen=firstday;
fprintf(fp, "SUN MON TUE WED THU FRI SAT\n");
for (i=1; i<firstday; i++)
{
fprintf(fp, "%3c ", space);
}
for (i=1; i<=days; i++)
{
fprintf(fp, "%3d ", i);
daythen++;
if (daythen>7 && i != days)
{
daythen=1;
fprintf(fp, "\n");
}
}
fprintf(fp, "\n\n\n");
}
void getdays(int yeartype, int month, int *days)
{
if (yeartype == 0 && month == 2)
{
*days = 28;
}
if (yeartype == 1 && month == 2)
{
*days = 29;
}
if ( (month==4) || (month==6) || (month==9) || (month==11) )
{
*days = 30;
}
if ( (month==1) || (month==3) || (month==5) || (month == 7) || (month==8) || (month==10) || (month==12) )
{
*days = 31;
}
}
void writefile(int month, int year, int days, int firstday, int yeartype)
{
FILE *fp;
fp = fopen("CALENDAR.TXT", "w");
for (month =1; month <=12; month++)
{
getweekday(month, 1, year, &firstday);
getdays(yeartype, month, &days);
if (month == 1)
{
fprintf(fp, "January %d\n\n", year);
}
else if (month ==2)
{
fprintf(fp, "February %d\n\n", year);
}
else if (month ==3)
{
fprintf(fp, "March %d\n\n", year);
}
else if (month ==4)
{
fprintf(fp, "April %d\n\n", year);
}
else if (month ==5)
{
fprintf(fp, "May %d\n\n", year);
}
else if (month ==6)
{
fprintf(fp, "June %d\n\n", year);
}
else if (month ==7)
{
fprintf(fp, "July %d\n\n", year);
}
else if (month ==8)
{
fprintf(fp, "August %d\n\n", year);
}
else if (month ==9)
{
fprintf(fp, "September %d\n\n", year);
}
else if (month ==10)
{
fprintf(fp, "October %d\n\n", year);
}
else if (month ==11)
{
fprintf(fp, "November %d\n\n", year);
}
else if (month ==12)
{
fprintf(fp, "December %d\n\n", year);
}
writecalendar(days, firstday, fp);
}
fprintf(fp, "Program written by Maharshi Akilla\n");
fprintf(fp, "http://mahurshi.tripod.com");
fclose(fp);
}
main()
{
int month, year, days, firstday, yeartype;
char answer;
cout << "Calendar" << endl << "Generates the calendar for any year between 1700 and 2099" << endl << endl;
do
{
cout << "Enter the year: ";
cin >> year;
} while (year<1700 || year>2099);
clrscr();
yeartype = leapyear(year);
for (month =1; month <=12; month++)
{
getweekday(month, 1, year, &firstday);
getdays(yeartype, month, &days);
if (month == 1)
{
cout << "January " << year << endl << endl;
}
else if (month ==2)
{
cout << "February " << year << endl << endl;
}
else if (month ==3)
{
cout << "March " << year << endl << endl;
}
else if (month ==4)
{
cout << "April " << year << endl << endl;
}
else if (month ==5)
{
cout << "May " << year << endl << endl;
}
else if (month ==6)
{
cout << "June " << year << endl << endl;
}
else if (month ==7)
{
cout << "July " << year << endl << endl;
}
else if (month ==8)
{
cout << "August " << year << endl << endl;
}
else if (month ==9)
{
cout << "September " << year << endl << endl;
}
else if (month ==10)
{
cout << "October " << year << endl << endl;
}
else if (month ==11)
{
cout << "November " << year << endl << endl;
}
else if (month ==12)
{
cout << "December " << year << endl << endl;
}
drawcalendar(days, firstday);
}
do
{
cout << "Do you want to write to a file? (Y/N)" ;
cin >> answer;
} while (answer != 'y' && answer != 'Y' && answer != 'n' && answer != 'N');
if (answer == 'y' || answer == 'Y')
{
writefile(month, year, days, firstday, yeartype);
cout << endl << "A file 'CALENDAR.TXT' has been created which contains the calendar" << endl;
}
cout << endl << "Program written by Maharshi Akilla" << endl;
cout << "http://mahurshi.tripod.com" << endl;
while (!kbhit())
{
}
}
The above code has a mixture of couts and printfs,