Другие языки программирования и технологии

Лабораторная по контейнерным классам.

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

Вопрос : Что такое - итог указателя и итог номеров страниц?

Написал, вроде, ввод-вывод указателя, пожалуйста, помогите с остальным.

http://pastebin.com/QgLG3myx
Как я понимаю:

Предусмотреть возможность формирования указателя с клавиатуры - да, это ввод данных в вектор, можно так, как в коде.

и с файла - то же самое, построчно прочитать текстовый файл, в котором есть слово и номер страниц на каждой строчке.

итог указателя - ммм.. . это что-то сферическое и в вакууме. Не знаю. Может быть это все слова и страницы. То есть все содержимое вектора. Возможно отформатированное в формате: "слово 11, 22, 33"

итог номеров страниц для заданого слова, - тут вродь понятно. Читаем слово - ищем в векторе всё и выводим все номера страниц.

удаление элемента с указателя - ищем в векторе данное пользователем слова и удаляем.

Какие проблемы я вижу.. .

навигация трудная. Лучше наверное, предусмотреть меню, т. к. требование удалить запись при каждом запуске программы - не очень круто. Менюшка делается в цикле: печатаем подсказку по пунктам и просим ввести цифру. ЧИтаем цифру, и вызываем нужное действие. Удобнее оформить в функции. Но если препод не против, то можно и забить.

Странное условие. Нафига до 10 страниц? . Это не всего а именно на одно слово.

Класс - не класс. Да, у вас класс - не класс, а структура. поля лучше сделать приватными, а все действия производить с помощью методов типа Pages(const char *word, vector<int> *pages), DeleteWord(const char *word) и т. д. Ну в крайнем случае даже использовать cout в классе и выводить страницы, а не передавать параметром. И вообще вектор должен быть в классе. а компонент - просто структура.

НО! ! Если считать, что вы описываете класс "компонент указателя", то практически с этой точки зрения верно. Только тогда не понятно, при чем тут класс. В общем в задании не так написано.

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

P.S. Я не критикую, просто хотел помочь понять задания. Подобные задания иногда меня самого в ступор вводили, а преподы порой и сами не знают о чем это.
АИ
Алексей Игнашов
9 996
Лучший ответ