거기에 jd 를 구하는 소스 가 있어서 해봤는데... 이상하게 1582년 전으로는 jd가 제대로 나오는대ㅔ
그 이후에 년도는 -1로 나오데요... 그래서 소스를 연구해보니까 return(-1)이 무엇인가 이상하기는 한데
자세하게 모르겠어요 알려주세요
#include
#include
double JD(int year, int month, int day, int hour, int minute, int second);
int main(void)
{
int year,month,day,hour,minute,second;
printf("Enter the year>");
scanf("%d",&year);
printf("Enter the month>");
scanf("%d",&month);
printf("Enter the day>");
scanf("%d",&day);
printf("Enter the hour>");
scanf("%d",&hour);
printf("Enter the minute>");
scanf("%d",&minute);
printf("Enter the second>");
scanf("%d",&second);
printf("JD is %lf",JD(year,month,day,hour,minute,second));
return(0);
}
double JD(int year, int month, int day, int hour, int minute, int second)
{
double jd;
if(year>=1582 && month>=10 && day>=15)
{
if (month<3){year--;month+=12;}<br /> jd=floor(365.2425*year)+floor(30.6*month-0.4)+day
+hour/24.0+minute/24.0/60.0+second/24.0/60.0/60.0+1721027.5;
}
else if (year<=1582 && month<=10 && day<=4)<br /> {
if(month<3){year--;month+=12;}<br /> jd=floor(365.25*year)+floor(30.6*month-0.4)+day
+hour/24.0+minute/24.0/60.0+second/24.0/60.0/60.0+1721025.5;
}
else
{
return(-1);
}
return jd;
}