Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
Національний університет "Львівська політехніка"
Інститут комп`ютерних наук та інформаційних технологій
Кафедра ПЗ
EMBED PictPub.Image.8
Звіт
З лабораторної роботи № 4
за курсом “Об`єктно – орієнтовне програмування ”
Виконав
Студент групи ПІ-1
Львів 2008
Тема: "Використання класових типів та управління доступом до членів классу ( методи та параметри)"
Мета: Написати програму алгоритмічною мовою С++ згідно з завданням, отриманим від викладача. Програма повинна реалізувати функційність об'єкта заданого класу у відповідності із завданням. В програмі потрібно задіяти застосування різних прав доступу до методів та параметрів класу.
Завдання:
Реалізувати клас для забезпечення роботи із стрічками.
Ініціалізація стрічки.
Визначення довжини стрічки.
Перевірка чи є стрічка числом і яким (int. float).
Переведення стрічки у число відповідного типу.
Переведення числа у стрічку.
Текст програми:
Головна функція
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
Mas *A=new Mas;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
A->Beg();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
A->SetMas(StrToInt(Edit1->Text));
Edit1->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit2->Text="";
int j=A->GetKil();
for (int r=0;r<j;r++)
Edit2->Text=Edit2->Text+" "+IntToStr(A->GetEl(r));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
int r=StrToInt(Edit3->Text);
Edit7->Text=IntToStr(A->GetEl(r-1));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
A->Sort();
int j=A->GetKil();
for (int r=0;r<j;r++)
Edit4->Text=Edit4->Text+" "+IntToStr(A->GetEl(r));
for (int q=j-1;q>=0;q--)
Edit5->Text=Edit5->Text+" "+IntToStr(A->GetEl(q));
Button4->Enabled=False;
Button2->Enabled=False;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
Edit6->Text=IntToStr(A->GetKil());
}
Клас
#ifndef Unit2H
#define Unit2H
class Mas
{
private:
int M[100],i;
public:
void Beg() {i=0;}
void SetMas(int a)
{
M[i]=a;
i=i+1;
};
int GetKil() {return i;};
int GetEl(int d) {return M[d];};
void Sort()
{int j,k,tmp;
for (j=0;j<i-1;j++)
for (k=0;k<i-1;k++)
if (M[k]<M[k+1])
{
tmp=M[k];
M[k]=M[k+1];
M[k+1]=tmp;
}
};
};
//---------------------------------------------------------------------------
#endif
E
Результат роботи програми.
Висновок: У ході лабораторної роботи я навчився працювати з об’єктами класу у динамічній пам’яті.