Web Protections - IE4+ & NS4+
Your search for protecting your web content ends here. All in one scripts for (With Examples) protecting your web content. Simply download the file & try it yourself.
AI
AI Summary: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.
Source Code
Upload
#include <stdio.h>
#include <string.h>
/* Prototype Declaration */
int validateDate(int dd, int mm, int yyyy);
void printError();
int calcDay_Dec31(int yyyy);
int dayInYear(int dd, int mm);
void nameInStr (char daysInWord[], int days);
void main(void)
{
int dd, mm, yyyy;
int days;
char daysInWord[11];
/* Read a date and validate the date */
do{
printf("Enter a date(dd/mm/yyyy) :");
scanf("%d / %d / %d", &dd, &mm ,&yyyy);
fflush(stdin);
}
while(validateDate(dd, mm, yyyy));
/* Calculate the day for Dec 31 of the previous year */
days = calcDay_Dec31(yyyy);
/* Calculate the day for the given date */
days = (dayInYear(dd, mm) + days) % 7;
/* Add one day if the year is leap year and desired date is after February */
if ((!(yyyy % 4) && (yyyy % 100) || !(yyyy % 400)) && mm > 2)
days++;
nameInStr(daysInWord, days);
/* Print the day of the desired date */
printf("The day for date %d/%d/%d is %s\n\n", dd, mm, yyyy, daysInWord);
} /* main */
int validateDate(int dd, int mm, int yyyy)
{
int i = 0, j = 0;
int a[7] = {1, 3, 5, 7, 8, 10, 12};
int b[4] = {4, 6, 9, 11};
int error = 0;
if (mm < 1 || mm > 12)
error = 1;
if (mm == 2)
{
if (!(yyyy % 4) && (yyyy % 100) || !(yyyy % 400))
{
if (dd < 1 || dd > 29)
error = 1;
}
else if (dd < 1 || dd >28)
error = 1;
}
for (i=0;i<6;i+=1)
{
if (mm == a[i])
{
if (dd < 1 || dd > 31)
error = 1;
}
}
for (j=0;j<4;j+=1)
{
if (mm == b[j])
{
if (dd < 1 || dd > 30)
error = 1;
}
}
if (error == 1)
printError();
return error;
}
void printError()
{
printf("Invalid Input!\n\n");
}
int calcDay_Dec31(int yyyy)
{
int dayCode = 0;
dayCode = ((yyyy-1)*365 + (yyyy-1)/4 - (yyyy-1)/100 + (yyyy-1)/400) % 7;
return dayCode;
} /* calcDay_Dec31 */
int dayInYear(int dd, int mm)
{
switch(mm)
{
case 12:dd += 30;
case 11:dd += 31;
case 10:dd += 30;
case 9:dd += 31;
case 8:dd += 31;
case 7:dd += 30;
case 6:dd += 31;
case 5:dd += 30;
case 4:dd += 31;
case 3:dd += 28;
case 2:dd += 31;
}
return dd;
} /* dayInYear */
void nameInStr(char daysInWord[], int days)
{
switch(days)
{
case 0:strcpy(daysInWord, "Sunday");break;
case 1:strcpy(daysInWord, "Monday");break;
case 2:strcpy(daysInWord, "Tuesday");break;
case 3:strcpy(daysInWord, "Wednesday");break;
case 4:strcpy(daysInWord, "Thursday");break;
case 5:strcpy(daysInWord, "Friday");break;
case 6:strcpy(daysInWord, "Saturday");break;
}
} /* nameInStr */
Original Comments (3)
Recovered from Wayback Machine