Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_Практичні роботи_ИЗВП_укр.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
7.14 Mб
Скачать

Хід роботи

  1. Створити заготівлю діалогового додатка з використанням майстра AppWizard

  1. Створити новий клас (см. рис. 2.1)

Рис. 2.1 – Створення нового класу

У вікні New Class (див. рис. 2.2) в полі Base class: вибрати базовий клас Cbutton (клас батько)

Рис. 2.2 – Створення нового класу

Далі перейдемо на вкладку Resource View, щоб відкрити форму для створення інтерфейсу нашої програми, як показано на рис. 2.3.

Рис. 2.3 - Відкриття форми для створення інтерфейсу програми

Тепер необхідно оголосити змінні для обчислення значень функцій. Для цього відкриємо вікно Add Member Variable, як показано на рис. 2.4.

Рис. 2.4 - Оголошення змінної а

Аналогічно додаємо змінні b і c і х.

Тепер необхідно оголосити функцію для обчислення значення функції. Для цього відкриємо вікно Add Member Function

Рис. 2.5 - Оголошення функції

Зайти в New Class і додати наступний код:

float new_class::summ_of_a_b()

{

float x;

x = this->a + this->b+ this->с;

return x;

}

Перенесемо конструктор і деструктор в розділ public файлу new_class.h (див. на рис. 2.6).

///////////////////////////////////////

public:

new_class();

float summ_of_a_b();

float c;

float b;

float a;

virtual ~new_class();

Рис. 2.6 - Перенесення конструктора і деструктора в розділ public

І записуємо значення змінних в конструкторі в файл new_class. cpp, як показано на рис. 2.7. У першому випадку представимо змінні а, b, с як константи, які приймають значення а = 1, b = 2, c = 3.

Рис. 2.7 - Опис значень змінних а, b, с

///////////////

new_class::new_class()

{

a=1;

b=2;

c=3;

}

Винести на форму необхідні елементи для представлення інтерфейсу як показано на рис. 2.8.

Рис. 2.8 - Можливий вид форми

Перейти на вкладку Resourse View, там вибрати пункт IDD_ (ім'я вашого проекту) _DIALOG і прописати їх властивості правою кнопкою миші вкладка Properties (Властивості) - відкриється діалогове вікно Edit Properties (див. рис. 2.9). Ця дія необхідно виконати, щоб зв'язати нашу змінну А з елементом Edit на формі.

Аналогічним чином повторюємо описану операцію і для інших змінних, в нашому випадку для змінних b, с, х.

Рис. 2.9 - Зв'язування змінної А з елементом на Edit на формі

Рис. 2.9 - Зв'язування змінної А з елементом на Edit на формі

На наступному кроці ми оголошуємо змінні програмно, для цього необхідно вибрати з головного меню View пункт View Class Wizard, потім перейти на вкладку Member Variables, як показано на рис. 2.10 і 2.11.

Рис. 2.10 - Вибір меню View пункт View Class Wizard

Рис. 2.11 - Діалогове вікно MFC Class Wizard

Створюємо змінну А. У діалоговому вікні оголошення змінної задаємо ім'я цієї змінної і її тип (див. рис. 2.12).

Рис. 2.12 - Створення змінної А

Аналогічним чином створюємо і інші змінні.

В результаті отримаємо форму, яка має наступний вигляд:

Рис. 2.13 - Можливий вид форми

Тепер нам необхідно створити обробники подій для наших елементів форми. Для цього необхідно двічі клацнути по елементу edit A і додати програмний код, як показано на рис. 2.14 (програмний код дивіться нижче).

Рис. 2.14 - Створення обробника події

Додайте код

void CPr_rab_2Dlg::OnChangeEditA()

{

UpdateData(TRUE);

}

А в кнопку Button дв. Клик и записать

void CPr_rab_2Dlg::OnButton1()

{

UpdateData(FALSE);

}

Щоб наша програма запрацювала ще необхідно додати бібліотеку для створеного нами класу в вгорі програми (див. рис. 2.15).

#include "new_class.h"

Рис. 2.15 – Создание обработчика события

Конструктор при створенні об'єкта привласнює деякі значення змінним a, b, c і ми можемо вивести ці значення на екран. Для етого необхідно додати код до обробникові кнопки виведення результату, для цього відкриємо вікно редагування коду подвійним клацанням по кнопці button1 і створимо об'єкт класу new_class.

new_class object_1;

Ми створили об'єкт object_1 класу new_class.

Далі ми будемо використовувати змінні члени класу для виведення соответстствіі значень на екран.

m_A=object_1.a;

m_B=object_1.b;

m_C=object_1.c;

де

object_1.a – змінна член класу.

Після натискання на кнопку бачимо такий результат (див. рис. 2.16).

Рис. 2.16 - Проміжний і кінцевий результат роботи програми

Далі спробуємо викликати метод класу, тобто функції члени класу.

m_X=object_1.summ_of_a_b();

Для цього дабавте в нашу кнопку цей код. І ось результат (див. рис 2.16 праворуч).

Далі нам варто спробувати вводити пременни для роботи функції самостійно а не з заздалегідь введеними значеннями, для цього можна зробити цю функцію функцією з параметрами, або створити конструктор з параметрами, який буде створювати об'єкт класу з необхідними нам параметрами, далі ми розглянемо другий спосіб.

Нам необхідно створити новий конструктор переходимо на вкладку class view і в описі класу додаємо новий конструктор, його ім'я має бути як у старого але він повинен мати параметри як показано на малюнку 2.17.

new_class(float d, float e, float f);

Рис. 2.17 - Створення нового конструктора з параметрами

Далі переходимо до опису конструктора

new_class::new_class(float d, float e, float f)

{

a=d;

b=e;

c=f;

}

Рис. 2.18 - Опис конструктора з параметрами

Тепер при створенні об'єкта класу ми можемо задавати спомощью конструктора свої параметри. У другому способі можете створити 2-гу кнопку Button і в неї додати код. Тепер наш код буде виглядати так (див. ріс.2.19):

new_class object_1(m_A,m_B,m_C);

m_X=object_1.summ_of_a_b();

UpdateData(FALSE);

Рис. 2.19 - Опис конструктора з параметрами

Тепер спробуємо додати в клас більш складні функції члени.

Це ми вже робили вгорі як summ_of_a_b тільки тепер все необхідно виконати у відповідності зі своїм індивідуальним завданням.