• Forum
  • Lounge
  • getting error in the following code. how

 
getting error in the following code. how to fix it???

getting error in the following C++ code. how to fix it??? mentioned the error in the appropriate line below in which it appeared while compiling someone let me know.....

// PACK DATE INTO INTERNAL FORMAT

Dtime_t // Error: Dtime_t does not name a type
PckDat
{ int year;
int month;
int day;

long jd; // Julian day
int *dayTbl; // Pointer to ordtbl or leaptbl
double v; // Packed date value

// Ordinary and leap year offsets

static int FAR ordTbl[13] =
{0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365};
static int FAR leapTbl[13] =
{0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366};

if (year < 0 || year >= 3000) return NULL_TIME;
if (month < 1 || month > 12) return NULL_TIME;

dayTbl = leapYear(year) ? leapTbl : ordTbl;
jd = *(dayTbl+(month-1)) + day - 1;
if (day < 0 || jd >= *(dayTbl+month)) return NULL_TIME;
v = Y0K + ((double)YtJd((long)year) + (double)jd) * 24.0 * 60.0 * 60.0;
return v;
}

//-----------------------------------------------------------------------------// TRANSLATE TIME INTO YEAR, MONTH, DAY, HOUR, MINUTE AND SECOND

void XltTime ( // Error: variable or field XltTime declared void
Dtime_t date // Error: DTime_t was not declared in this scope
{ int *year; // Year
int *month; // Month
int *day; // Day
int *hour; // Hour
int *min;) // Minutes

double x; // Temporary
long jd; // Julian day
long yr; // Offset year
int mth; // Internal month
long n400; // Number of 400 year periods
long n100; // Number of 100 year periods
long n4; // Number of 4 year periods
long n1; // Number of 1 year periods

// Ordinary and leap year offsets

static int FAR ordTbl[13] =
{0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365};
static int FAR leapTbl[13] =
{0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366};

int *dayTbl; // Pointer to ordtbl or leaptbl

// If the date is outside the acceptable range, return zeros

if (date < Y0K || date >= Y3K) {
*year = *month = *day = *hour = *min = *sec = 0;
return;
}

// Transform the time to seconds since 01-01-0001

date -= Y0K;

// Translate time

modf ((date + 0.5)/60.0, &x);
*sec = (int)( date - x*60.0 );
date = x;
modf ((date + 0.5)/60.0, &x);
*min = (int)( date - x*60.0 );
date = x;
modf ((date + 0.5)/24.0, &x);
*hour = (int)( date - x*24.0 );
date = x;

// Decode year

jd = (long)(date + 0.5);
n400 = jd / YtJd(400+1);
jd -= n400 * YtJd(400+1);
n100 = jd / YtJd(100+1);
if (n100 >= 4) n100--;
jd -= n100 * YtJd(100+1);
n4 = jd / YtJd(4+1);
jd -= n4 * YtJd(4+1);
n1 = jd / YtJd(1+1);
if (n1 >= 4) n1--;
jd -= n1 * YtJd(1+1);
yr = 400*n400 + 100*n100 + 4*n4 + n1 + 1;
*year = yr;

// Calculate day of the year

dayTbl = leapYear(yr) ? leapTbl : ordTbl;
for (mth = 1; dayTbl[mth] <= jd; mth++);
*month = mth;
*day = jd - dayTbl[mth-1] + 1;
}
Last edited on
Topic archived. No new replies allowed.