Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Реализация задания в оконном приложении. Вид формы и полученные результаты представлены на рис






Вид формы и полученные результаты представлены на рис. 4.2.

Приведем только тексты функций-обработчиков соответствующих кнопок:

...

struct Spis2 {

int info;

Spis2 *next, *prev;

} *begin, *end, *t;

//---------------------------------------------------------------------------

void Create_Spis2(Spis2**, Spis2**, int);

void Add_Spis2(int, Spis2**, Spis2**, int);

void View_Spis2(int, Spis2*);

void Del_All(Spis2**);

 

Рис. 4.2

 

//----------------------------- Текст функции-обработчика кнопки Создать ------------

int i, in = StrToInt(Edit1-> Text);

if(begin! = NULL){

ShowMessage(" Освободите Память! ");

return;

}

Create_Spis2(& begin, & end, in);

Memo1-> Lines-> Add(" Начало = " + IntToStr(begin -> info));

//--------------------------- Текст функции-обработчика кнопки Добавить ------------

int i, in = StrToInt(Edit1-> Text), kod = RadioGroup1-> ItemIndex;

String Str[2] = {" в начало ", " в конец " };

Add_Spis2(kod, & begin, & end, in);

if(kod == 0) t = begin;

else t = end;

Memo1-> Lines-> Add(" Добавили " + Str[kod] + IntToStr(t -> info));

//---------------------------- Текст функции-обработчика кнопки Просмотреть -----

if(! begin){

ShowMessage(" Список Пуст! ");

return;

}

if(RadioGroup1-> ItemIndex == 0) {

t = begin;

Form1-> Memo1-> Lines-> Add(" -- С начала --");

}

else {

t = end;

Form1-> Memo1-> Lines-> Add(" --- С конца --");

}

View_Spis2(RadioGroup1-> ItemIndex, t);

//----------------------------- Текст функции-обработчика кнопки Очистить ---------

Del_All(& begin);

ShowMessage(" Память освобождена! ");

//---------------------------- Текст функции-обработчика кнопки EXIT -----------------

if(begin! = NULL) Del_All(& begin);

Close();

//------------------- Создание первого элемента -----------------------------

void Create_Spis2(Spis2 **b, Spis2 **e, int in) {

t = new Spis2;

t -> info = in;

t -> next = t -> prev = NULL;

*b = *e = t;

}

//------------------- Добавление элемента в список --------------------------

void Add_Spis2(int kod, Spis2 **b, Spis2 **e, int in) {

t = new Spis2;

t -> info = in;

if(kod == 0){

t -> prev = NULL;

t -> next = *b;

(*b) -> prev = t;

*b = t;

}

else {

t -> next = NULL;

t -> prev = *e;

(*e) -> next = t;

*e = t;

}

}

//--------------------- Просмотр элементов списка ---------------------------

void View_Spis2(int kod, Spis2 *t) {

while(t! = NULL) {

Form1-> Memo1-> Lines-> Add(t-> info);

// В консольном приложении: cout < < t-> info < < endl;

if(kod == 0) t = t-> next;

else t = t-> prev;

}

}

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.