Курсовой По Ооп Указатели На Объект

Курсовой По Ооп Указатели На Объект



>>> ПОДРОБНЕЕ ЖМИТЕ ЗДЕСЬ <<<






























Курсовой По Ооп Указатели На Объект
Информационное обеспечение, программирование

Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!

Похожие работы на - Объектно-ориентированное программирование на языке С++

Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе

Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ С++







Мы живем в мире объектов. Стол,
автомобиль, ручка, классная доска - все это объекты. Объекты характеризуются
атрибутами. Так атрибутами автомобиля являются максимальная скорость, мощность
двигателя, цвет кузова и т.д.


Помимо атрибутов объекты обладают
некоторыми функциональными возможностями, которые в объектно-ориентированном
программировании (ООП) называют операциями или методами. Так автомобиль может
ездить, корабль - плавать.


Таким образом, объект инкапсулирует
атрибуты и методы, скрывая от других объектов взаимодействующих с ним и
использующих его функциональность, свою реализацию. Объект - это экземпляр
некоторого класса объектов или просто класса. Так автомобиль Audi 6 является
экземпляром класса автомобилей данной модели, приемник Sony SW-7600G так же
будет представителем класса одноименных приемников.


Классы могут быть связаны друг с
другом различными отношениями. Одним из основных таких отношений является
отношение класс - подкласс, известный в объектно-ориентированном
программировании как наследование. Например, класс автомобилей Audi 6 является
подклассом легковых автомобилей, который в свою очередь входит в более крупный
класс автомобилей, а последний является подклассом класса транспортных средств,
который помимо автомобилей включает в себя самолеты, корабли поезда и т.д.
Примером подобных отношений, являются системы классификации в ботанике и
зоологии. Отношением, обратным наследованию, является обобщение или генерализация.
Она указывает, что некий класс, является более общим (обобщенным) классом
другого класса. Класс транспортных средств, к примеру, является генерализацией
классов автомобилей, самолетов и кораблей.


При наследовании все атрибуты и
методы родительского класса наследуются классом-потомком. Наследование может
быть многоуровневым, и тогда классы, находящиеся на нижних уровнях иерархии,
унаследуют все свойства (атрибуты и методы) всех классов, прямыми или
косвенными потомками которых они являются.


Помимо одиночного, существует и
множественное наследование, когда класс наследует сразу нескольким классам. При
этом он унаследует свойства всех классов, потомком которых он является. При
использовании множественного наследования необходимо быть особенно внимательным,
так как возможны коллизии, когда класс-потомок может унаследовать одноименные
свойства, с различным содержанием.


При наследовании одни методы класса
могут замещаться другими. Так, класс транспортных средств будет обладать
обобщенным методом движения. В классах-потомках этот метод будет
конкретизирован: автомобиль будет ездить, самолет - летать, корабль - плавать.
Такое изменение семантики метода называется полиморфизмом. Полиморфизм - это
выполнение методом с одним и тем же именем различных действий в зависимости от
контекста, в частности, от принадлежности тому или другому классу. В разных
языках программирования полиморфизм реализуется различными способами. Например,
в C++ он реализован с помощью механизма виртуальных функций.







Разрабатываемое приложение курсовой
работы носит название «OOP».


Данная программа позволяет
продемонстрировать основные концепции ООП и возможности среды визуальной
разработки приложений Borland C++ Builder 6 для работы с классами. Пользователь имеет возможности:


·        Поиск данных по
основным полям.


Данное приложение написано в среде Borland C++ Builder 6 на языке С++.
Дополнительная установка программного обеспечения не требуется.




Объектно-ориентированное
программирование представляет собой метод программирования, который весьма
близко напоминает наше поведение, является более структурным, более модульным и
более абстрактным, чем предыдущие попытки абстрагирования данных и переноса
деталей программирования на внутренний уровень.


Класс - это тип, описывающий
устройство объектов. Понятие «класс» подразумевает некоторое поведение и способ
представления. Понятие «объект» подразумевает нечто, что обладает определённым
поведением и способом представления. Говорят, что объект - это экземпляр
класса. [1]


Объект - сущность в адресном
пространстве вычислительной системы, появляющаяся при создании экземпляра
класса. [3]


Прототип - это объект-образец, по
образу и подобию которого создаются другие объекты.


Объектно-ориентированный язык
программирования характеризуется тремя основными свойствами:


. Инкапсуляция. Комбинирование
записей с процедурами и функциями, манипулирующими полями этих записей,
формирует новый тип данных - объект.


. Наследование. Определение объекта
и его дальнейшее использование для построения иерархии порожденных объектовс
возможностью для каждого порожденного объекта, относящегося к иерархии, доступа
к коду и данным всех порождающих объектов.


. Полиморфизм. Присваивание действию
одного имени, которое затем совместно используется вниз и вверх по иерархии
объектов, причем каждый объект иерархии выполняет это действие способом, именно
ему подходящим.




Для описания предметной области
«Автомобильный транспорт» была создана иерархия классов, базовым классом
которой является абстрактный базовый класс. Иерархия имеет следующий вид (рис.
1.):







логический программа
интерфейс листинг


Класс «Автомобильный транспорт»
является абстрактным базовым классом. Он содержит поля, которые отражают общие
характеристики всего авто транспорта. Кроме этого, класс «Автомобильный
транспорт» имеет набор функций: виртуальные функции для сохранения и вывода
данных, инициализирующий конструктор




{public: AVTO (String
_marka, String _model, int _year, int _power);void PRINT (TStringList *lines)
{…};void GET (TStringList *lines) {…};:marka; String model; int year; int
power;


Остальные классы иерархии будут
производными от класса «Автомобильный транспорт». При этом используется
открытое наследование.





{public: TRACK (String
_marka, String _model, int _year, int _power, int _gruz, String _kuzovg);void
PRINT (TStringList *lines) {…};void GET (TStringList *lines) {…};:gruz; String
kuzovg;


{public: PASS (String
_marka, String _model, int _year, int _power, int _mesta);void PRINT
(TStringList *lines) {…}void GET (TStringList *lines) {…};:mesta;


{public: CAR (String
_marka, String _model, int _year, int _power, int _mesta, String _kuzovl,
String _klass);void PRINT (TStringList *lines) {…}void GET (TStringList *lines)
{.}:kuzovl; String klass;


{public: BUS (String
_marka, String _model, int _year, int _power, int _mesta, String _type, int
_dlina);void PRINT (TStringList *lines) {…}void GET (TStringList *lines)
{…}:type; int dlina;


Для удобства работы с этими классами
и обращения их к общей информации, такой как структура хранения указателей,
счетчики записей и т.д., создан отдельный класс. В данном классе описаны
структуры хранения информации и методы работы с этими структурами.


/// массивы указателей конечных
классов


/// массивы указателей для поиска и
удаления


TRACK *TFArray[100];        *BFArray[100];   *CFArray[100];


int Tcount; int Bcount;
int Ccount; int CFcount; int BFcount; int TFcount;


/// чтение данных в массив из файла


virtual void Create
(TStringList *INFO, int clas) {…}void FIND (String value, int pole) {…}


Каждый класс имеет определенный
набор компонентных функций. Они реализуют:
Работа с программой заключена в один
модуль в котором содержится:


·        Обработчики работы
с компонентами формы;


·        Список классов с
параметрами и методам.


Иерархия классов представлена на рис.
1.




5. Используемые
технические средства




Для работы программы требуется ПК на
базе микропроцессора не ниже 1GHz, 256 Mb RAM с установленной на него операционной системой Microsoft
Windows XP и 20 Мb свободного места на жестком диске. Мышь, клавиатура.







Ввод данных осуществляется
пользователем с клавиатуры или загрузкой текстового файла.




Загрузка данных происходит
автоматически при запуске приложения, каждый файл соответствует определенному
классу.


Данные в файле расположенный
построчно, изменение порядка строк может привести к неправильной работе
программы.




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


Кроме этого, выходные данные в
программе выводятся на форму приложения в компонент Memo.


логический программа
интерфейс листинг


8. Организация хранения
данных в программе




Работа со всеми объектами в
программе происходит при помощи указателей. В программе используются три
массива указателей для каждого класса Так же созданы несколько вспомогательных
массива для временного хранения указателей.
. Проектирование
интерфейса программы




Интерфейс программы имеет
однооконную структуру. Основное окно программы представлено на рисунке 2.







Слева в программе расположены панели
ввода информации об объектах. В правой части экрана происходит отражение
информации.




В ходе разработки приложения
необходимо тестирование и отладка на каждом этапе. Соответственно, после
реализации иерархии классов, реализации методов этих классов, реализации
дополнительного функционала проводились тесты, чтобы выявить недочеты и
устранить их (результату промежуточного тестирования не приведены). Результат
комплексного тестирования представлен в таблице3.







Таблица 3. Результат тестирования
программы




Реализация иерархии классов: создание объектов (модули
реализации классов)

Реализация иерархии классов: работа с полями (модули реализации
классов)

Отладка функций GET для доступа к полям объектов классов. Успешно

Вод из файла (модуль работы с объектами классов и модуль
реализации классов)

Откладка функции ReadFileBase для извлечения данных из файла. Успешно.

Сохранение в файл (модуль работы с объектами классов и модуль
реализации классов)

Просмотр данных (модуль самого приложения и модуль реализации
классов)

Добавление (модуль самого приложения и модуль реализации
классов)

Отладка процедуры добавления, добавление обработчиков ошибок.
Успешно

Поиск (использование дополнительного класса)

Удаление (использование дополнительного класса)

Таким образом, функционал приложения
и его реализация соответствуют требованиям, предъявленным в техническом
задании.







В ходе выполнения курсовой работы
были закреплены теоретические знания в области объектно-ориентированного
программирования на зыке С++. Была разработана иерархия классов предметной
области «Автомобильный транспорт», закреплены знания о создании и использовании
динамических структур данных.


Также научился работать с объектами
иерархии классов.


Применение объектно-ориентированного
подхода к программированию и широкие возможности языка С++ в среде визуального
программирования С++ Builder является мощным и гибким средством при создании программ
имитирующих поведение объектов реального мира.







1.
Википедия - свободная энциклопедия (www.wikipedia.org)


2.
Айра Пол ООП на С++ - СПб.: «Бином», «Невский диалект», 2001 - 461
с.


3.
Р. Лафоре ООП в С++ - М.: «Питер», 2004 - 923 с.


4.
Ахо А., Хопкрофт Д., Ульман Д. Структуры данных и алгоритмы - М.:
Издательский дом «Вильямс», 2001 - 384 с.







/////////////////////////////////////////////////
Базовый класс АВТО
/////////////////////////////////////////////////////////////// AVTO


{public: AVTO (String
_marka, String _model, int _year, int _power);void PRINT (TStringList *lines)


{>Add («Марка:» + marka);>Add
(«Модель:» + model);>Add
(«Год выпуска: «+
IntToStr(year));>Add («Мощность:» + IntToStr(power));


{>Add(marka);>Add(model);>Add
(IntToStr(year));>Add (IntToStr(power));


};                                                              :AVTO
(String _marka, String _model, int _year, int _power): marka(_marka),
model(_model), year(_year), power (_power) {};


//////////////////////////////////////
Подкласс ГРУЗОВИКИ класса АВТО
/////////////////////////////////////////////////////////////// TRACK: public
AVTO  


{public: TRACK (String
_marka, String _model, int _year, int _power, int _gruz, String _kuzovg);void
PRINT (TStringList *lines)


{:PRINT(lines);>Add
(«Грузоподъемность:» +
IntToStr(gruz));>Add («Тип грузовика:» + kuzovg);


{:GET(lines);>Add
(IntToStr(gruz));>Add(kuzovg);


};:TRACK (String _marka,
String _model, int _year, int _power, int _gruz, String_kuzovg): AVTO
(_marka,_model,_year,_power), gruz(_gruz), kuzovg(_kuzovg) {};


/////////////////////////////////////
Подкласс ПАССАЖИРСКИЕ класса АВТО
/////////////////////////////////////////////////////////////// PASS: public
AVTO
{:PRINT(lines);>Add
(«Вместимость:» +
IntToStr(mesta));


{:GET(lines);>Add
(IntToStr(mesta));


};:PASS (String _marka,
String _model, int _year, int _power, int _mesta):AVTO (_marka, _model, _year,
_power), mesta(_mesta)


/////////////////////////////////////
Подкласс АВТОМОБИЛИ класса ПАССАЖИРСКИЕ
/////////////////////////////////////////////////////////////// CAR: public
PASS


{public: CAR (String
_marka, String _model, int _year, int _power, int _mesta, String _kuzovl,
String _klass);void PRINT (TStringList *lines)


{:PRINT(lines);>Add
(«Кузов:» +
kuzovl);>Add («Класс авто:» + klass);


{:GET(lines);>Add(kuzovl);>Add(klass);


};:CAR (String _marka,
String _model, int _year, int _power, int _mesta, String _kuzovl, String
_klass):PASS (_marka, _model, _year, _power,_mesta), kuzovl(_kuzovl),
klass(_klass) {};


//////////////////////////////////////
Подкласс АВТОБУСЫ класса ПАССАЖИРСКИЕ
/////////////////////////////////////////////////////////////// BUS: public
PASS


{public: BUS (String
_marka, String _model, int _year, int _power, int _mesta, String _type, int
_dlina);void PRINT (TStringList *lines)


{:PRINT(lines);>Add
(«Назначение:» +
type);>Add («Габаритная длинна:» + IntToStr(dlina));


{:GET(lines);>Add(type);>Add
(IntToStr(dlina));


};:BUS (String _marka,
String _model, int _year, int _power, int _mesta, String _type, int
_dlina):PASS (_marka, _model,_year, _power, _mesta), type(_type), dlina(_dlina)
{};


{public: /// массивы указателей
конечных классов


/// массивы указателей для поиска и
удаления


TRACK
*TFArray[100];*BFArray[100];*CFArray[100];Tcount;Bcount;Ccount;CFcount;BFcount;TFcount;


/// чтение данных в массив из файла


{*TRACKbase = new
TStringList();*BUSbase = new TStringList();*CARbase = new TStringList();*INFO =
new TStringList();-> LoadFromFile («track_info.txt»);-> LoadFromFile
(«bus_info.txt»);-> LoadFromFile («car_info.txt»);lenCar =
7;>Clear();(int j = 0; j <= (CARbase->Count/lenCar-1); j++)


{>Add
(CARbase->Strings [j*lenCar+i]);


}lenBus =
7;>Clear();(int j = 0; j <= (BUSbase->Count/lenBus-1); j++)


{>Add
(BUSbase->Strings [j*lenBus+i]);


}lenTrack =
6;>Clear();(int j = 0; j <= (TRACKbase->Count/lenTrack-1); j++)


{>Add
(TRACKbase->Strings [j*lenTrack+i]);


virtual void Create
(TStringList *INFO, int clas)


(INFO->Strings[0].c_str(),>Strings[1].c_str(),(INFO->Strings[2]),(INFO->Strings[3]),(INFO->Strings[4]),>Strings[5].c_str(),>Strings[6].c_str());


(INFO->Strings[0].c_str(),>Strings[1].c_str(),(INFO->Strings[2]),(INFO->Strings[3]),(INFO->Strings[4]),>Strings[5].c_str(),(INFO->Strings[6]));


(INFO->Strings[0].c_str(),>Strings[1].c_str(),(INFO->Strings[2]),(INFO->Strings[3]),(INFO->Strings[4]),>Strings[5].c_str());


/// поиск значения по массиву
автомобилей


{[i]->GET(INFO);(value
== INFO->Strings[pole])


/// поиск значения по массиву
автобусы


{[i]->GET(INFO);(value
== INFO->Strings[pole])


/// поиск значения по массиву
автобусы


};baza;__fastcall
TFirst: FormActivate (TObject *Sender)


{->Clear();->Lines->Add
(«Автомобили»);->Lines->Add(«============»);->Clear();->Lines->Add
(«Автобусы»);->Lines->Add(«===========»);->Clear();->Lines->Add
(«Грузовики»);->Lines->Add(«===========»);*avto;*INFO
= new TStringList();. ReadFileBase();


//// вывод информации о машинах(int i = 0; i <=baza. Ccount-1; i++)


{=
baza.CARArray[i];->PRINT(INFO);->Lines->AddStrings(INFO);>Clear();1->Lines->Add(«**************»);


for (int i = 0; i
<=baza. Bcount-1; i++)


{=
baza.BUSArray[i];->PRINT(INFO);->Lines->AddStrings(INFO);>Clear();->Lines->Add(«**************»);


for (int i = 0; i <=baza. Tcount-1; i++)


{=
baza.TRACKArray[i];->PRINT(INFO);->Lines->AddStrings(INFO);>Clear();->Lines->Add(«****************»);


{(0, «Чтение файла!», «Ошибка!», MB_ICONERROR);


__fastcall TFirst:
BitBtn1Click (TObject *Sender)


{ /// Добавление и вывод нового
объекта


if (transport->Text
== «Автомобили»)


{((marka->Text==»»)||(model->Text==»»)||


(god_vipuska->Text==»»)||(power->Text==»»)||


(vmestimost->Text==»»)||(tip_kuzova->Text==»»)||


(class_avto->Text==»»))(0,
«Заполните все поля!!!», «Ошибка!!!», MB_ICONWARNING); else


(marka->Text.c_str(),>Text.c_str(),(god_vipuska->Text),(power->Text),(vmestimost->Text),_kuzova->Text.c_str(),_avto->Text.c_str());


MessageBoxA (0, «Выполнено успешно!», «Добавление данных!», mbYes);


AVTO *avto;*INFO = new
TStringList();= baza.CARArray [baza.
Ccount-1];->PRINT(INFO);->Lines->AddStrings(INFO);>Clear();->Lines->Add(«**************************************************************************»);


{(0, «Проверьте
правильность введенных данных!», «Ошибка!», MB_ICONERROR);


{ /// Добавление и вывод нового
объекта


{((marka->Text==»»)||(model->Text==»»)||


(god_vipuska->Text==»»)||(power->Text==»»)||


(vmestimost->Text==»»)||(naznachenie->Text==»»)||


(gab_dlinna->Text==»»))(0,
«Заполните все поля!!!», «Ошибка!!!», MB_ICONWARNING); else


(marka->Text.c_str(),>Text.c_str(),(god_vipuska->Text),(power->Text),(vmestimost->Text),>Text.c_str(),(gab_dlinna->Text));


MessageBoxA (0, «Выполнено успешно!», «Добавление данных!», mbYes);


AVTO *avto;*INFO = new
TStringList();= baza.BUSArray [baza.
Bcount-1];->PRINT(INFO);->Lines->AddStrings(INFO);>Clear();->Lines->Add(«**************************************************************************»);


{(0, «Проверьте
правильность введенных числовых данных!», «Ошибка!», MB_ICONERROR);


{ /// Добавление и вывод нового
объекта


{((marka->Text==»»)||(model->Text==»»)||


(god_vipuska->Text==»»)||(power->Text==»»)||


(gruzopodemnost->Text==»»)||(tip_gruzovika->Text==»»))(0,
«Заполните все поля!!!», «Ошибка!!!», MB_ICONWARNING); else


{.TRACKArray [baza.
Tcount] = new TRACK


(marka->Text.c_str(),>Text.c_str(),(god_vipuska->Text),(power->Text),(gruzopodemnost->Text),_gruzovika->Text.c_str());


MessageBoxA (0, «Выполнено успешно!», «Добавление данных!», mbYes);


AVTO *avto;*INFO = new
TStringList();= baza.BUSArray [baza.
Tcount-1];->PRINT(INFO);->Lines->AddStrings(INFO);>Clear();->Lines->Add(«**************************************************************************»);
{(0, «Проверьте
правильность введенных числовых данных!», «Ошибка!», MB_ICONERROR);


// -__fastcall
TFirst:transportChange (TObject *Sender)


{->Caption =
transport->Text;>Visible = true;_kuzova->Visible =
true;_avto->Visible = true;->Visible = true;>Visible =
false;_dlinna->Visible = false;_gruzovika->Visible = false;>Visible =
false;->Visible = false;->Visible = false;


{->Caption =
transport->Text;>Visible = true;>Visible = true;_dlinna->Visible =
true;->Visible = true;_kuzova->Visible = false;_avto->Visible =
false;_gruzovika->Visible = false;>Visible = false;->Visible =
false;->Visible = false;


{->Caption =
transport->Text;_gruzovika->Visible = true;>Visible = true;


vmestimost->Visible =
false;>Visible = false;_dlinna->Visible = false;_kuzova->Visible =
false;_avto->Visible = false;->Visible = false;->Visible = false;


__fastcall TFirst:TFirst
(TComponent* Owner)


// -__fastcall
TFirst:N5Click (TObject *Sender)


// -__fastcall TFirst:
BitBtn5Click (TObject *Sender)


/// Добавление и вывод нового
объекта(transport->Text == «Автомобили»)


{(int i = 0; i <=
baza. Ccount-1; i++)


/// Добавление и вывод нового
объекта


{(int i = 0; i <=
baza. Bcount-1; i++)


/// Добавление и вывод нового
объекта


{(int i = 0; i <=
baza. Tcount-1; i++)


}>SaveToFile
(«track_info.txt»);>Clear();


{(0, «Сохранение данных!», «Ошибка!», MB_ICONERROR);


// -__fastcall TFirst:
BitBtn4Click (TObject *Sender)


{_z1->Clear();_z2->Clear();_z3->Clear();


// -__fastcall TFirst:
BitBtn3Click (TObject *Sender)


{*avto;*INFO= new
TStringList();par;_z1->Clear();_z2->Clear();_z3->Clear();(poick_pole->Text==
«Марка»)
par=0;(poick_pole->Text== «Модель») par=1;(poick_pole->Text== «Год выпуска») par=2;.FIND (znachenie->Text, par);(int i = 0; i <
baza.CFcount; i++)


{=
baza.CFArray[i];>PRINT(INFO);_z1->Lines->AddStrings(INFO);>Clear();_z1->Lines->Add(«***********»);


{=
baza.BFArray[i];>PRINT(INFO);_z2->Lines->AddStrings(INFO);>Clear();_z2->Lines->Add(«**********»);


{=
baza.TFArray[i];>PRINT(INFO);_z3->Lines->AddStrings(INFO);>Clear();_z3->Lines->Add(«****************»);


{(0, «Проверьте правильность введенных числовых данных!», «Ошибка!», MB_ICONERROR);


// -__fastcall TFirst:
BitBtn2Click (TObject *Sender)


{*avto;=
baza.CFArray[0];(PageControl1->ActivePage->PageIndex==0)


{(int i = 0; i <=
baza. Ccount-1; i++)
}=
baza.BFArray[0];(PageControl1->ActivePage->PageIndex==1)


{(int i = 0; i <=
baza. Bcount-1; i++)


{(avto ==
baza.BUSArray[i]) {delete baza.BUSArray[i]; baza. Bcount - ;}


}=
baza.TFArray[0];(PageControl1->ActivePage->PageIndex==2)


{(int i = 0; i <=
baza. Tcount-1; i++)


if (avto ==
baza.TRACKArray[i]) {delete baza.TRACKArray[i]; baza. Tcount - ;}


}_z1->Clear();_z2->Clear();_z3->Clear();->Click();


{(0, «Данная операция не может быть выполнена!», «Ошибка!», MB_ICONERROR);


// -__fastcall TFirst:
BitBtn6Click (TObject *Sender)


{->Clear();->Lines->Add
(«Автомобили»);->Lines->Add(«====================»);->Clear();->Lines->Add
(«Автобусы»);->Lines->Add(«=====================»);->Clear();->Lines->Add
(«Грузовики»);->Lines->Add(«====================»);*avto;*INFO
= new TStringList();


//// вывод информации о машинах(int i = 0; i <=baza. Ccount-1; i++)


{=
baza.CARArray[i];->PRINT(INFO);->Lines->AddStrings(INFO);>Clear();->Lines->Add(«*********************»);


for (int i = 0; i <=baza. Bcount-1; i++)


{=
baza.BUSArray[i];->PRINT(INFO);->Lines->AddStrings(INFO);>Clear();->Lines->Add(«*********************»);


for (int i = 0; i <=baza. Tcount-1; i++)


{=
baza.TRACKArray[i];->PRINT(INFO);->Lines->AddStrings(INFO);>Clear();->Lines->Add(«********************»);


{(0, «Выполенине операции не может быть осуществленно!», «Ошибка!», MB_ICONERROR);


Общие сведения о
программном продукте


Программа предназначена для хранения
и обработки информации о автомобильном транспорте.


Функциональные возможности
программы:


·        Добавление
элементов в очередь;


·        Удаление элементов
из очереди;


·        Поиск данных по
конкретному значению и по диапазону допустимых значений;


Данная программа не требует
установки. Для запуска необходимо запустить OOP.exe, так же для правильной
работы программы необходимо присутствие 3 файлов car_info, bus_info, track_into.




После запуска программы запустится
окно изображенное на рис. П3.1







После запуска программы программа
автоматически подгрузит для каждого вида транспорта свой текстовый файл. После
этого информации обо всех загруженных объектах сразу отобразится на панели
справа.


По загруженной информации можно
производить поиск, для чего необходимо заполнить требуемые поля нужными
значениями и нажать кнопку «Поиск». На панели справа отобразится информация о
том автомобильном транспорте который соответствует запросу, для удобства
техника разделена на отдельные виды.


Для создания объекта для начала
необходимо выбрать соответствующий вид техники, после чего заполнить
информационные поля. При нажатии на кнопку «Добавить», если информация будет
введена правильно, появится соответствующее сообщение и в правой части
обновится список объектов.


Для удаления информации для начала
необходимо найти данный объект, через условие поиска, затем нажать кнопку
«Удалить».


Для сохранения всех изменений
необходимо нажать на клавишу «Сохранить». Все изменения с объектами будут
сохранены в соответствующий файл.


При некорректном использовании
программы пользователю будут выводиться соответствующие информационные
сообщения. При неправильном ручном редактировании информационных файлов, работа
программы может быть не правильной или невозможной!






Объектно - ориентированное программирование на языке С++. Курсовая работа...
ООП с примерами (часть 1) / Хабр | Объект
ОБЪЕКТНО - ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
Объектно - ориентированное программирование на языке С++
ООП : указатель на объект - C++ - Киберфорум
Как Начать Сочинение Отзыв
Сочинение Семь Чудес Сегодняшнего Дня
Сочинение На Тему Закат Солнца
Курсовая Работа Семьи Группы Риска
Эссе Почему Каждый Человек Философ

Report Page