Posted by: batuwa September 29, 2006
Login in to Rate this Post:
0
?
Slack, I had done this leap thing in C.... I hope the following code help you understand the LOGIC. I don't think you have to care about Julian or Gregorial calender, which creates even more confusion... but third section if if/else may help you... good luck!
if ((inputYear >= -46) && (inputYear <= -1))
{
inputYear = (-1*inputYear);
printf("\nYou entered %d BCE",inputYear);
if ((inputYear % 4) == 0)
printf("\n\nThe year %d BCE is a leap year in Julian Calender.",inputYear);
else
printf("\n\nThe year %d BCE is not a leap year in Julian Calender.",inputYear);
}
else if ((inputYear >= 1) && (inputYear <= 1752))
{
printf("\nYou entered %d CE",inputYear);
if ((inputYear % 4) == 0)
printf("\n\nThe year %d CE is a leap year in Julian Calender.",inputYear);
else
printf("\n\nThe year %d CE is not a leap year in Julian Calender.",inputYear);
}
else if (inputYear >= 1753 && inputYear <= 4000)
{
printf("\n\nYou entered %d CE",inputYear);
if ((inputYear % 4) == 0)
{
if ((inputYear % 100) == 0)
{
if ((inputYear % 400) == 0)
printf("\n\nThe year %d CE is a leap year in Gregorian Calender.",inputYear);
else
printf("\n\nThe year %d CE is not a leap year in Gregorian Calender.",inputYear);
}
else if ((inputYear % 100) != 0)
printf("\n\nThe year %d CE is a leap year in Gregorian Calender.",inputYear);
}
else
printf("\n\nThe year %d CE is not a leap year in Gregorian Calender.",inputYear);
}
else if (inputYear <= - 47)
{
printf("You entered %d BCE",inputYear);
printf("\n\nThe year %d BCE is below the valid range",inputYear);
}
else
{
printf("You entered %d CE",inputYear);
printf("\n\nThe year %d CE is above the valid range",inputYear);
}