Головна

Реалізація завдання в віконному додатку

  1.  I. Аналіз завдання
  2.  I. Завдання для обов'язкового виконання
  3.  I. Завдання для обов'язкового виконання
  4.  I. Завдання для обов'язкового виконання
  5.  I. Завдання для обов'язкового виконання
  6.  I. Завдання для обов'язкового виконання
  7.  I. Завдання для обов'язкового виконання

Вид форми і отримані результати представлені на рис. 2.2.

Мал. 2.2

Наведемо лише тексти функцій, відповідних зазначеним кнопок:

. . .

struct Stack {// Декларація структурного типу

int info;

Stack * next;

} * Begin, * t;

// --- Декларації прототипів функцій користувача ---

Stack * InStack (Stack *, int);

void View (Stack *);

void Del_All (Stack * *);

// --- Текст функції-обробника кнопки створити ---

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

if (begin! = NULL) {

ShowMessage ("Звільніть пам'ять!");

return;

}

for (i = 1; i <= n; i ++) {

in = random (20);

begin = InStack (begin, in);

}

Memo1-> Lines-> Add ("Створили" + IntToStr (n) + "-ть.");

// --- Текст функції-обробника кнопки Додати ---

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

for (i = 1; i <= n; i ++) {

in = random (20);

begin = InStack (begin, in);

}

Memo1-> Lines-> Add ("Додали" + IntToStr (n) + "-ть.");

// --- Текст функції-обробника кнопки переглянути ---

if (! begin) {

ShowMessage ("Стек Порожній!");

return;

}

Memo1-> Lines-> Add ("--- Елементи ---");

View (begin);

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

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

ShowMessage ("Пам'ять звільнена!");

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

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

Close ();

// --- Функція додавання елемента в Стек --- ---

Stack * InStack (Stack * p, int in) {

Stack * t = new Stack;

t -> info = in;

t -> next = p;

return t;

}

// --- Функція перегляду Стека --- ---

void View (Stack * p) {

Stack * t = p;

while (t! = NULL) {

Form1-> Memo1-> Lines-> Add ("" + IntToStr (t-> info));

// У командному додатку буде, наприклад, cout « "" « t-> info « endl;

t = t -> next;

}

}

// --- Функція звільнення пам'яті --- ---

void Del_All (Stack * * p) {

while (* p! = NULL) {

t = * p;

 * P = (* p) -> next;

delete t;

}

}

 Сортування односпрямованих списків |  Реалізація завдання в командному додатку


 Особливості застосування покажчиків |  Динамічне розміщення даних |  функції користувача |  Доп-1.2. Приклад виконання завдання |  Доп-1.3. індивідуальні завдання |  Короткі теоретичні відомості |  Реалізація завдання в віконному додатку |  Реалізація завдання в командному додатку |  індивідуальні завдання |  Функція формування елемента стека |

© 2016-2022  um.co.ua - учбові матеріали та реферати