![]() |
|
Модераторы: bsa |
![]()
|
|
| becks |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.7.2010 Репутация: нет Всего: нет |
Добрый день. Начинаю более детальное знакомство с С++ с такого проекта, прошу подсказать правильно ли я для себя представляю задачу, этапы и ее реализацию:
Необходимо сделать что-то вроде графического редактора для создания и редактирования графов. Т.е. как я понимаю, необходимо предусмотреть 3 визуальных объекта Круг (вершины графа), Стрелка (ветви графа) и текстовый блок. Причем объект Круг (вершина графа) должен иметь порядковый номер внутри, а Стрелка иметь такое понятие как вес, получаемое в зависимости от того из какой вершины и в какую направлена. Необходимо реализовать возможность перетаскивания объектов и групп объектов. Итоговый граф необходимо сохранять в файле некоторого формата. Сделать возможность открытия файлов этого формата и редактирования их в программе. Так же необходимо чтоб файл сохранял информацию о матрице смежности графа и некоторых других матрицах. Возникают след. вопросы. 1)Как это реализовать в среде Microsoft Visual Studio 2008 на языке C++ более наглядно, необходимо ли использовать библиотеку MFC? 2) правильно ли я определил этапы реализации. (в начале пишем простой редактор, потом прикручиваем возможность редактировать его сохранять в файл и загружать из файла, потом прикручиваем к файлу информацию о матрицах ) ? 3) Как к графическому файлу прикрутить информацию о матрицах??? (Это необходимо для того чтобы в другая программа работающая с таким же форматом фалов могла работать с этими матрицами. Т.е. они по сути являются входной информацией для другой программы). Буду очень благодарен за любую помощь словесную, источники, предложения. Прошу писать только по делу, так как есть желание разобраться во всем этом деле. Спасибо. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Сначала нужно распланировать архитектуру программы. А так же придумать формат файла. А потом уже писать. Причем, писать нужно так, чтобы сначала у тебя была базовая функциональность, а остальное дописывалось постепенно. Вариантов куча. Например, в начале файла указываешь таблицу размещения данных. В ней задается положение и размер каждого блока данных. |
|||
|
||||
| becks |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.7.2010 Репутация: нет Всего: нет |
Спасибо за ответы.
Что подразумевается под архитектурой программы? Я правильно понимаю, что по идее я пока могу написать консольное приложение для реализации всей "математики" и работу с матрицами, а уже после делать навороты в виде графического ввода графа? И вот еще, как раз с придумыванием форматов файлов у меня затык, с этим я ниразу не встречался, есть ли какие-нибудь общие советы или рекомендации непосредственно к моей задаче или достаточно будет открыть какой-нить мануал и условно говоря прочитав "сделать по образцу"? Спасибо. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
becks, под архитектурой понимается взаимодействие различных частей программы.
Ты как хочешь можешь писать. Если математика сложная, то лучше действительно ее отладить на простом проекте. Вообще-то, формат файла определяется из конкретных задач. Самый простой способ - сохранить массив данных в файл. |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Еще можно взять какую нибудь существующую библиотеку по работе с графами, что бы не изобретать велосипед (boost::graph например). И потом на ее базе дописывать недостающий функционал (GUI например)
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |