Ребята, есть лаба по контейнерным классам.
Вот задание : Описать клас *предметный указатель*. Каждый компонент указателя содержит слово и номер страницы, на которых ето слово встречаеться. Количество номеров страницы, которые относяться к одному слову, от одного до десяти. Предусмотреть возможность формирования указателя с клавиатуры и с файла, итог указателя, итог номеров страниц для заданого слова, удаление элемента с указателя.
Вопрос : Что такое - итог указателя и итог номеров страниц?
Написал, вроде, ввод-вывод указателя, пожалуйста, помогите с остальным.
http://pastebin.com/QgLG3myx
Другие языки программирования и технологии
Лабораторная по контейнерным классам.
Как я понимаю:
Предусмотреть возможность формирования указателя с клавиатуры - да, это ввод данных в вектор, можно так, как в коде.
и с файла - то же самое, построчно прочитать текстовый файл, в котором есть слово и номер страниц на каждой строчке.
итог указателя - ммм.. . это что-то сферическое и в вакууме. Не знаю. Может быть это все слова и страницы. То есть все содержимое вектора. Возможно отформатированное в формате: "слово 11, 22, 33"
итог номеров страниц для заданого слова, - тут вродь понятно. Читаем слово - ищем в векторе всё и выводим все номера страниц.
удаление элемента с указателя - ищем в векторе данное пользователем слова и удаляем.
Какие проблемы я вижу.. .
навигация трудная. Лучше наверное, предусмотреть меню, т. к. требование удалить запись при каждом запуске программы - не очень круто. Менюшка делается в цикле: печатаем подсказку по пунктам и просим ввести цифру. ЧИтаем цифру, и вызываем нужное действие. Удобнее оформить в функции. Но если препод не против, то можно и забить.
Странное условие. Нафига до 10 страниц? . Это не всего а именно на одно слово.
Класс - не класс. Да, у вас класс - не класс, а структура. поля лучше сделать приватными, а все действия производить с помощью методов типа Pages(const char *word, vector<int> *pages), DeleteWord(const char *word) и т. д. Ну в крайнем случае даже использовать cout в классе и выводить страницы, а не передавать параметром. И вообще вектор должен быть в классе. а компонент - просто структура.
НО! ! Если считать, что вы описываете класс "компонент указателя", то практически с этой точки зрения верно. Только тогда не понятно, при чем тут класс. В общем в задании не так написано.
Я не знаю требований к вашим лабам, я только описал, что написано в задании, как, считаю, должно быть. В таких случаях всё исключительно зависит от того, кто будет проверять. В одних УЗ вам ваш вариант может и зачтут, а в других даже смотреть не будут... .
P.S. Я не критикую, просто хотел помочь понять задания. Подобные задания иногда меня самого в ступор вводили, а преподы порой и сами не знают о чем это.
Предусмотреть возможность формирования указателя с клавиатуры - да, это ввод данных в вектор, можно так, как в коде.
и с файла - то же самое, построчно прочитать текстовый файл, в котором есть слово и номер страниц на каждой строчке.
итог указателя - ммм.. . это что-то сферическое и в вакууме. Не знаю. Может быть это все слова и страницы. То есть все содержимое вектора. Возможно отформатированное в формате: "слово 11, 22, 33"
итог номеров страниц для заданого слова, - тут вродь понятно. Читаем слово - ищем в векторе всё и выводим все номера страниц.
удаление элемента с указателя - ищем в векторе данное пользователем слова и удаляем.
Какие проблемы я вижу.. .
навигация трудная. Лучше наверное, предусмотреть меню, т. к. требование удалить запись при каждом запуске программы - не очень круто. Менюшка делается в цикле: печатаем подсказку по пунктам и просим ввести цифру. ЧИтаем цифру, и вызываем нужное действие. Удобнее оформить в функции. Но если препод не против, то можно и забить.
Странное условие. Нафига до 10 страниц? . Это не всего а именно на одно слово.
Класс - не класс. Да, у вас класс - не класс, а структура. поля лучше сделать приватными, а все действия производить с помощью методов типа Pages(const char *word, vector<int> *pages), DeleteWord(const char *word) и т. д. Ну в крайнем случае даже использовать cout в классе и выводить страницы, а не передавать параметром. И вообще вектор должен быть в классе. а компонент - просто структура.
НО! ! Если считать, что вы описываете класс "компонент указателя", то практически с этой точки зрения верно. Только тогда не понятно, при чем тут класс. В общем в задании не так написано.
Я не знаю требований к вашим лабам, я только описал, что написано в задании, как, считаю, должно быть. В таких случаях всё исключительно зависит от того, кто будет проверять. В одних УЗ вам ваш вариант может и зачтут, а в других даже смотреть не будут... .
P.S. Я не критикую, просто хотел помочь понять задания. Подобные задания иногда меня самого в ступор вводили, а преподы порой и сами не знают о чем это.
Похожие вопросы
- Components в Delphi. при защите лабораторной возник вопрос... конкретно для Delphi. Что есть массив Components?
- Помогите сделать лабораторную работу по теме "Одномерные массивы" [C++]
- Лабораторная по С++
- Лабораторная работа по Ассемблеру (TASM), помогите пожалуйста)
- Если мне было интересно программирование до первой лабораторной, значит я ошиблась интересом?
- Помогите с лабораторной на языке С. Программа должна рассчитать сколько раз изменился знак во вводимых числах.
- В чем различие ключевых слов public и static в java? И объясните конкретно , что такое экземпляр класса.
- Статичная функция внутри класса. какие данные будут доступны всем образцам класса?
- Экземпляра класса, объекты
- С++, объект класса, экземпляр класса, какой тип переменной хранит экземпляр класса? (экземпляр это что? Word, lpstr..?)