Добавил:
https://vk.com/club199197084 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторные Егоров / 0361_ЦукановаПА_№7

.pdf
Скачиваний:
4
Добавлен:
03.02.2024
Размер:
450.71 Кб
Скачать

МИНОБРНАУКИ РОССИИ САНКТ-ПЕТЕРБУРГГОСУДАРСТВЕННЫЙКИЙ

ЭЛЕКТРОТЕХУНИВЕРСИТЕТЧСКЙ «ЛЭТИ»ИМ.В.И.УЛЬЯНОВА(ЛЕНИНА)

КафедраИнформационныхсистем

ОТЧЕТ попрактическойработе№7

подисциплине«Объектно-ориентированноепрограммирование»

Студентыгр.0361

 

Семенова.А. Е

 

ЦукановаП.А.

Преподаватель

 

 

ЕгоровС.С.

Санкт-Петербург

2023

Задание на практическую. работу

РазработатьGUIприложение, выполняющеефункцизуализациию ориентированного, задаваемогографа матрицей, представленнойсмежости в виде , файластруктуру которого . требуетНа.1рися разработать представленмакетдиаграммыклассовприложения, которыйтребуется реализоватьприложении.

Рисунок1Диаграмма– классов Основной функциейИнтерфейсное" объекта" являетсяклассаокно

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

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

вида графа с четырьмя вершинами2. представлен на рисунке

Рисунок2–Пример 4графавершинамис

При выборе в интерфейседругого( )другогостарыйфайла графа должензаменятьсяновыйиперерисовыватьсяна.

 

Спецификация классов

 

КлассTDraw

 

 

Поля:

 

 

 

 

 

Наименование

Тип видимостиОбласть

 

 

 

 

Graph

TGraph

private

 

 

 

Методы:

TDraw();

Конструкторклассапоумолчанию,областьвидимости–public.

TDraw(TGraph);

Конструкторкласса.Позволяетполучматьризвводацу,область видимости—public.

void draw (QPainter*, QRect, QColor);

Отрисовыграфвокнеыетприложения,областьвидимости–public.

void drawLines (QPointF*, QPainter*, int i, int j, qreal);

Отрисовываетлиниимеждуузламиграфа,областьвидимости–public.

bool isConnected (int i, int j);

Проверяетсоединенточекiиj,областьвидимости–public.

КлассTGraph

Поля:

Наименование

Тип видимостиОбласть

 

 

 

 

adjMatrix

TMatrix<int>

private

 

 

 

dim

int

private

 

 

 

Методы:

TGraph();

Конструкторклассапоумолчанию,областьвидимости—public.

int getElement(int, int);

Геттер элемента матрицы, областьсмежностивидимости—public.

void draw (QPainter*, QRect, QColor);

Отрисовыграфвокнеыетприложения,областьвидимости–public.

int getDim();

Геттерразмерностиматрсмежностицы,областьвидимости—public.

void setGraph(QString);

Считывграизетффайлаиз писывгравфматрицуетсмежности, областьвидимости—public.

КлассTMatrix

Поля:

Наименование

Тип видимостиОбласть

 

 

 

 

dim

int

protected

 

 

 

defaultMatrix

vector<vector<number>>

protected

 

 

 

Методы:

number getElement(int i, int j);

Геттерэлеменматарицы,областьвидимости–public.

number getDimension();

Геттерразмерностиматр,областьцывидимости–public.

void setElement(number el, int i, int j);

Сеттерэлеменматарицы,областьвидимости–public.

void setDimension(int d1);

Сеттерразмерностиматр,областьцывидимости–public.

КлассTWindow

Поля:

Наименование

Тип видимостиОбласть

 

 

 

 

graphWindow

TDraw

private

 

 

 

Методы:

TWindow(TDraw, QWidget *parent = 0);

Конструкторкласса,областьвидимости—public.

~TWindow();

Деструкткласса,орбластьвидимости—public.

void browse();

Ищетфайлсграф, открываетмего, акжесоздаетновокное сизображеданногоиемграфа,областьвидимости—public.

void paintEvent(QPaintEvent*);

Отрисовываетокноприложения,областьвидимости—protected.

Диаграмма классов

Рисунок3–Диаграммаклассов

Описание контрольного примера с исходными и ожидаемыми (расчетными)данными

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

Рисунок4–Графсчетырьмяузлами

Послебылэтоговыбранфайлграфаспятьюузлами(рисунок5).

Выбранный граф отобразился на(рисунокэкранев новом окне приложения

6).

Рисунок5–Выборфайласграфом

Рисунок6Граф– с пятью вершинами

На рисун7покеазано содержаниефайла графа с пятью. вершинами

Рисунок7Содержание– файла с пятью вершинами

Соседние файлы в папке Лабораторные Егоров