Форум программистов, компьютерный форум CyberForum.ru

Вывести список в дерева - C++

Восстановить пароль Регистрация
 
tehnolog
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 4
12.08.2012, 10:02     Вывести список в дерева #1
Новичок в программировании, дали задание в универе. Вот само задание:

Дан структурированный многострочный текстовый фай, где каждая строка имеет формат:
Код#Текст#Код родителя <ПС>
где:
-«Код» - число (не более 6 цифр);
-«#» - знак-разделитель;
-«Текст» - не более 50 знаков, кроме «#»;
-«Код родителя»-число-код предшествующей строки;
-«<ПС>»-знак перевода строки.

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

1 # 1.Материалы #
2 # 1.1.Группа 1 # 1
3 # 1.1.1.Материал 1 # 2
4 # 1.1.2 Материал 2 # 2
5 # 1.1.3 Материал 3 # 2
6 # 1.1.4 Материал 4 # 2
7 # 1.2.Группа 2 # 1
8 # 1.2.1.Материал 5 # 7
9 # 1.2.2 Материал 6 # 7
10 # 2.Комплектующие #
11 # 2.1.КомГруппа1 # 10
12 # 2.1.1.Комплект 1 # 11
13 # 2.1.2 .Комплект 2 # 11
14 # 2.1.3 ПодКомГруппа 11
15 # 2.1.3.1 Комплект 3# 14
16 # 2.1.3.2 Комплект 4 14
17 # 2.2 КомГруппа 2 # 10
18 # 2.2.1 Комплект 5 # 17
19 # 2.2.2 Комплект 6 # 17

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

-1.Материалы
-1.1.Группа 1
1.1.1.Материал 1
1.1.2 Материал 2
1.1.3 Материал 3
1.1.4 Материал 4
+1.2.Группа 2
+2.Комплектующие

Не знаю как подступиться к заданию, с графикой до этого не сталкивался, получилось только создать кнопку выбора текстового файла,возвращающую полный путь с именем и расширением.
Как можно считать содержимое этого файла?
Я думаю здесь нужно control tree использовать, но как я не понимаю!
Помогите советом, направьте на путь истинный) Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Neon-z
46 / 41 / 1
Регистрация: 06.09.2010
Сообщений: 419
12.08.2012, 13:43     Вывести список в дерева #2
Если тебе нужно графическое приложение, то лично я бы делал через TreeView. Ты анализируешь файл, а потом последовательно запихиваешь элементы в тривиев. Задачка не очень сложная ( для меня будет самым сложным правильно разобрать текст), но требует время.
tehnolog
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 4
12.08.2012, 18:11  [ТС]     Вывести список в дерева #3
спасибо за совет, это как раз то, что нужно!
а что с текстовиком делать, как его разложить?
Neon-z
46 / 41 / 1
Регистрация: 06.09.2010
Сообщений: 419
12.08.2012, 19:43     Вывести список в дерева #4
Считываешь его построчно, и анализируешь (не зря тебе даны разделительные знаки).
Алгоритм приблиз такой:
1. Берешь первую строку и записываешь в отдельную переменную.
2. сканируешь строку до первого разделителя и записываешь ее в переменную.
3. удаляешь все что до разделителя и сам разделитель и повторяешь шаг два. (для каждого поля своя переменная.
4. А потом полученные данные распихиваешь по тривиеву.
И так с каждой строкой.
Я считаю, что лучше делать массив этих данных (строчка соответствует номеру элемента в массиве).
Это так, алгоритм на скорую руку)) если подумать, можно еще что-то придумать).
sparks0603
Сообщений: n/a
05.02.2013, 17:23     Вывести список в дерева #5
если у кого есть уже решенное это задание скиньте пожалуйста, буду очень благодарен, дали точно такое же задание

Добавлено через 41 минуту
tehnolog, выручай скинь, если ты уже делал, очень надо
Yandex
Объявления
05.02.2013, 17:23     Вывести список в дерева
Ответ Создать тему
Опции темы

Текущее время: 13:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru