[an error occurred while processing this directive]
лЁгко(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено F8 06 ноября 2005 г. 10:43
В ответ на: Off отправлено <font color=gray>TamTam</font> 06 ноября 2005 г. 06:53

class CBottle
{
private:
unsigned int WaterLevel;
public:
unsigned int GetWaterLevel(){return WaterLevel;};
void SetWaterLevel(unsigned int value){WaterLevel = value};
}

#define MAX_BOTTLE 10
class CBottleBox
{
private:
CBottle *Bottles[10];
unsigned int BottleCounter;
public:
CBottleBox(){BottleCounter = 0};
bool AddBottle(CBottle *Bottle)
{
if(BottleCounter <= MAX_BOTTLE)
{
Bottles[BotleCounter++]=Bottle;
return true;
}
return false;
};
CBottle* GetBotle()
{
return(BottleCounter > 0 ? Bottles[BottleCounter--] : NULL);
}
unsigned int GetBottleCounter(){return BottleCounter;};
}

class CRecord
{
private:
void* NextRecord;
void* PreRecord;

public:
CBottleBox *BottleBox;
void* GetNextRecord(){return NextRecord;};
void* GetPreRecord(){return PreRecord;};
CRecord(void* PreRecord, void* NextRecord)
{
CBottleBox *BottleBox = new CBottleBox;
CRecord::PreRecord = PreRecord;
CRecord::NextRecord = NextRecord;
};
~CRecord()
{
delete BottleBox;
if(NextRecord != NULL)(CRecord*)NextRecord->PreRecord=PreRecord;
if(PreRecord != NULL)(CRecord*)PreRecord->NexRecord=NextRecord;
}

}

class CBottleBoxList
{
private;
CRecord *FirstRecord;
CRecodr *LastRecord;
CRecord *CurRecord;
public:
CBottleBoxList()
{
FirstRecord=NULL;
LastRecord=NULL;
CurRecord=NULL;
}
~CBottleBox()
{
CRecord *tmp FirstRecord;
while(tmp != NULL)
{
CRecord *tmp1 = (CRecord*)tmp->NextRecord;
delete tmp;
tmp = tmp1;
}
}
void First(){CurRecord = FirstRecord;}
void Last(){CurRecord = LastRecord;}
void Add()
{
CRecord* tmp = new((void*)LastRecord, NULL);
LastRecord->NextRecord=(void*)tmp;
LastRecord = tmp;
CurRecord = tmp;
}
void Delete(){if(CurRecord != NULL)delete CurRecord;};
void Next()
{
if(CurRecord != NULL)CurRecord=(CRecord*)CurRecord->NextRecord;
}
CBottleBox GetBottleBox()
{
return CurRecord->BottleBox;
}
}


CBottle Botles[127];
CBottleBoxList BottleBoxList;
main()
{
int BotleCounter=127;
int BotleBoxCounter = 0;
while(BotleCounter > 0)
{
BottleBoxList.Add();
BottleBoxCounter++;
while(BottleBoxList.GetBottleBox->AddBottle(&Bottles[BottleCounter-1])BottleCounter--;

}
}

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru