Move common time routines to TimeConstants*

add calorie tracking by day of year
This commit is contained in:
Chris Danford
2004-02-22 20:44:33 +00:00
parent fde7116684
commit 1851424be7
11 changed files with 205 additions and 110 deletions
+13 -18
View File
@@ -62,8 +62,8 @@ Bookkeeper::Bookkeeper()
int i, j;
m_iLastSeenTime = time(NULL);
for( i=0; i<DAYS_PER_YEAR; i++ )
for( j=0; j<HOURS_PER_DAY; j++ )
for( i=0; i<DAYS_IN_YEAR; i++ )
for( j=0; j<HOURS_IN_DAY; j++ )
m_iCoinsByHourForYear[i][j] = 0;
ReadFromDisk();
@@ -96,9 +96,9 @@ void Bookkeeper::ReadFromDisk()
if( !FileRead(f, m_iLastSeenTime) )
WARN_AND_RETURN;
for (int i=0; i<DAYS_PER_YEAR; ++i)
for (int i=0; i<DAYS_IN_YEAR; ++i)
{
for (int j=0; j<HOURS_PER_DAY; ++j)
for (int j=0; j<HOURS_IN_DAY; ++j)
{
int iCoins;
if( !FileRead(f, iCoins) )
@@ -123,8 +123,8 @@ void Bookkeeper::WriteToDisk()
FileWrite(f, m_iLastSeenTime);
for (int i=0; i<DAYS_PER_YEAR; ++i)
for (int j=0; j<HOURS_PER_DAY; ++j)
for (int i=0; i<DAYS_IN_YEAR; ++i)
for (int j=0; j<HOURS_IN_DAY; ++j)
FileWrite( f, m_iCoinsByHourForYear[i][j] );
}
@@ -154,12 +154,12 @@ void Bookkeeper::UpdateLastSeenTime()
tOld.tm_hour != tNew.tm_hour )
{
tOld.tm_hour++;
if( tOld.tm_hour == HOURS_PER_DAY )
if( tOld.tm_hour == HOURS_IN_DAY )
{
tOld.tm_hour = 0;
tOld.tm_yday++;
}
if( tOld.tm_yday == DAYS_PER_YEAR )
if( tOld.tm_yday == DAYS_IN_YEAR )
{
tOld.tm_yday = 0;
tOld.tm_year++;
@@ -185,7 +185,7 @@ void Bookkeeper::CoinInserted()
int Bookkeeper::GetCoinsForDay( int iDayOfYear )
{
int iCoins = 0;
for( int i=0; i<HOURS_PER_DAY; i++ )
for( int i=0; i<HOURS_IN_DAY; i++ )
iCoins += m_iCoinsByHourForYear[iDayOfYear][i];
return iCoins;
}
@@ -241,27 +241,22 @@ void Bookkeeper::GetCoinsByDayOfWeek( int coins[DAYS_IN_WEEK] )
tm time;
localtime_r( &lOldTime, &time );
for( int d=0; d<DAYS_PER_YEAR; d++ )
for( int d=0; d<DAYS_IN_YEAR; d++ )
{
coins[GetDayOfWeek(time)] += GetCoinsForDay( time.tm_yday );
time = GetYesterday( time );
}
}
void Bookkeeper::GetCoinsByHour( int coins[HOURS_PER_DAY] )
void Bookkeeper::GetCoinsByHour( int coins[HOURS_IN_DAY] )
{
UpdateLastSeenTime();
for( int h=0; h<HOURS_PER_DAY; h++ )
for( int h=0; h<HOURS_IN_DAY; h++ )
{
coins[h] = 0;
for( int d=0; d<DAYS_PER_YEAR; d++ )
for( int d=0; d<DAYS_IN_YEAR; d++ )
coins[h] += m_iCoinsByHourForYear[d][h];
}
}
CString HourToString( int iHourIndex )
{
return ssprintf("%02d:00", iHourIndex);
}