Частина тексту файла (без зображень, графіків і формул):
Міністерство науки і освіти України
Національний університет “Львівська політехніка”
Інститут комп’ютерних наук та інформаційних технологій
кафедра програмного забезпечення
Звіт з лабораторної роботи №3
з дисципліни “Об’єктно-орієнтоване програмування ”
Лабораторна робота № 3
"Використання класових типів та управління доступом до членів классу ( методи та параметри)"
Завдання
Розробити ієрархію класів згідно отриманого завдання (таблиця 1) та описати їх алгоритмічною мовою С++. Використати абстрактні класи і віртуальні функції. Написати фрагмент програми з використанням об’єктів створених класових типів.
Зміст завдання
Реалізувати клас для забезпечення роботи з масивами.
Ініціалізація масиву.
Сортування масиву з параметром спадання/зростання.
Визначення довжини масиву.
Доступ до окремих елементів масиву.
Доступ до цілого масиву (повернення вказівника на масив).
Текст програми
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include<dstring.h>
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
masyv *pMasyv;
TForm1 *Form1;
int *pM;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
pMasyv = new masyv(Edit1 -> Text.ToInt());
Edit1 -> Enabled = false;
Button3 -> Enabled = false;
}
//---------------------------------------------------------------------------
int i = 0;
void __fastcall TForm1::Button4Click(TObject *Sender)
{
pMasyv -> SetMas(Edit4 -> Text.ToInt(), i);
i++;
if(i >= pMasyv -> GetLenght())
{
Edit4 -> Enabled = false;
Button4 -> Enabled = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button7Click(TObject *Sender)
{
if((Edit3 -> Text.ToInt()-1) >= pMasyv -> GetLenght())
Edit2 -> Text = "Error!";
else
{
Edit2 -> Text = pMasyv -> GetMas(Edit3 -> Text.ToInt()-1);
Edit3 -> Enabled = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button8Click(TObject *Sender)
{
pMasyv -> SetMas(Edit2 -> Text.ToInt(), Edit3 -> Text.ToInt()-1);
Edit3 -> Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button9Click(TObject *Sender)
{
int i;
pM = pMasyv -> GetPointer();
StringGrid1 -> ColCount = pMasyv -> GetLenght();
for(i = 0;i < pMasyv -> GetLenght();i++)
StringGrid1 -> Cells[i][0] = pM[i];
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button10Click(TObject *Sender)
{
int i;
for(i = 0;i < pMasyv -> GetLenght();i++)
pM[i] = StringGrid1 -> Cells[i][0].ToInt();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
if (RadioButton1 -> Checked == true)
pMasyv -> SortMasZrost();
if (RadioButton2 -> Checked == true)
pMasyv -> SortMasSpad();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
pMasyv -> ~masyv();
delete pMasyv;
exit(1);
}
//---------------------------------------------------------------------------
Результат роботи програми
Висновок: Розробив ієрархію класів згідно отриманого завдання (таблиця 1) та описав їх алгоритмічною мовою С++. Використати абстрактні класи і віртуальні функції. Написав фрагмент програми з використанням об’єктів створених класових типів.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!