0 / 0 / 0
Регистрация: 16.04.2019
Сообщений: 5
|
||||||
Редактор блок-схем C++23.04.2019, 10:59. Показов 3852. Ответов 8
Метки блок схема (Все метки)
Здравствуйте! Стоит задача написать курсовую работу - редактор блок схем программ на языке С++.
Условия и рекомендации под спойлером. Кликните здесь для просмотра всего текста
Написать редактор для блок-схем (структурного проектирования
программы), который позволял бы редактировать блок-схемы. Первоначально в схеме есть блоки "начало" и "конец". Команды редактора: вставить блок после текущего/в левую/в правую ветвь, удалить текущий блок, изменить текст в блоке, сохранить и считать блок-схему в файле. Для упрощения программы рекомендуется управление с помощью клавиатуры (движение стрелками по блокам: вниз/вверх - следующий/предыдущий блок, влево/вправо - левая/правая ветвь, если есть или следующий блок). Рекомендуется хранить указатель на текущий блок. Для представления блок-схемы рекомендуется класс со свойствами тип блока текст, выводимый в блоке левая ветка // отсутствует у простых блоков правая ветка // -//- следующий блок предыдущий блок блок, в котором находится ветка с этим блоком выч. высоту изображения блока с ветками выч. ширину -//- нарисовать блок и его ветки в (x,y) Для упрощения рисования рекомендуется левую ветвь рисовать всегда вниз и принять стандартный размер блока. Накидал немного кода для реализации и проверок схем. Естественно правильно не работает и не дописано. Решил, что блок будет реализован на подобии лин. списка/дерева, то есть в узле(блоке) будут указатели на левого и правого потомка, и на предка. Для начала сделал без указателей,все было нормально, за исключением того, что в схеме всего 2 элемента могло быть. Только начал использовать указатели - полезли ошибки и сложности в реализации. Собственно прошу подсказать/написать кусочки кода/направить в нужном направлении по след. вопросам: -Как правильно реализовать конструктор, чтобы создание было подобно спискам? Грубо говоря создавался головной блок -Как правильно реализовать указатель на след блок и сам след. блок? -Как правильно реализовать перемещение по блокам? По принципу лин. списков. Создать какой-то объект/указатель на объект класса и как в списках вложить в него голову схемы, а потом гонять по схеме вверх-вниз(в левую или правую вевть от блока) Мои навыки работы с памятью и указателями для сложных(для меня) структур и объектов хромают, списки и деревья простые через структуры я писал,как работают я понимаю. Буду безмерно благодарен откликнувшимся! А то застрял, не могу сдвинуться с мертвой точки.
0
|
23.04.2019, 10:59 | |
Ответы с готовыми решениями:
8
Редактор принципиальных схем на GTK+ Составление блок схем
|
0 / 0 / 0
Регистрация: 16.04.2019
Сообщений: 5
|
||
23.04.2019, 11:46 [ТС] | ||
0
|
Злостный нарушитель
![]() 9881 / 5408 / 1231
Регистрация: 12.03.2015
Сообщений: 25,229
|
||
23.04.2019, 12:01 | ||
Отрисовка с масштабированием и прокруткой - это отдельная подзадача. Хранение всей схемы в файле - это ещё одна подзадача. -------- Одна из самых простых БС моего дипломного проекта была вот такой: На ней и отлаживай. ![]()
0
|
0 / 0 / 0
Регистрация: 16.04.2019
Сообщений: 5
|
||
23.04.2019, 20:22 [ТС] | ||
0
|
0 / 0 / 0
Регистрация: 16.04.2019
Сообщений: 5
|
|
27.04.2019, 22:10 [ТС] | |
Вопрос еще актуален.
0
|
27.04.2019, 22:10 | |
Помогаю со студенческими работами здесь
9
Создания блок схем Составить блок-схем, с Благодарностью Создание блок-схем к программе Построение блок-схем по коду C++ Построение блок-схем по коду Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
|
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
|
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
|
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
|
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution
В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
|
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
|
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
|
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
|
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
|
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
|