|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.12.2014, 17:25 | #1 |
Пользователь
Регистрация: 23.04.2014
Сообщений: 18
|
C++ Использование принципов ООП для поиска в файлах разного типа
Хотя бы намекните с чего начать. Может у кого то было подобное.
Использование принципов ООП для поиска в файлах разного типа Исходные данные Каталоги с файлами разных типов (.txt, .xml, и html и другие). Задание 1. Написать программу, которая будет осуществлять поиск введенного слова или фразы во всех файлах каталога (с возможностью сканирования подкаталогов) и выводить результаты поиска. Формат вывода результата: название файла; полный путь к файлу; номер строки; фраза или предложение с искомым словом или фразой: для .txt - предложение, в котором встретилось слово; для .xml - название объекта, в котором встретилось слово; для .html - 3 слова слева и справа от найденного...., без тегов; для других на выбор разработчика. 2. В программе обязательно должна использовать такие принципы и механизмы ООП как: инкапсуляция; наследование; полиморфизм; абстрактные классы; вложение классы. 3. Входные параметры ( слово или фраза для поиска, [начальный каталог], [флаг о сканировании подкаталогов], [форматы допустимых файлов] , [имя файла для вывода результатов] 4. По результатам сканирования программа должна вывести статистику которая содержит следующую информацию: количество найденных совпадений; количество сканированных файлов; количество сканированных строк; полное время сканирования; средние время сканирования файла. |
11.01.2015, 22:27 | #2 |
Пользователь
Регистрация: 03.07.2014
Сообщений: 32
|
Вам понадобится один базовый абстрактный класс для "файла вообще" и три унаследованных от него класса - для txt, xml и html, в которых будут функции, анализирующие файлы и печатающие вывод - функции с одинаковыми именами, но разными "телами" (в базовом классе - одноименная заглушка = 0).
Где приткнуть вложенный класс - ну, например, можно в базовом определить какой-нибудь вспомогательный вложенный, отвечающий за те действия, которые в трех случаях одинаковы. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Список обьектов имеющих одинаковое поле но разного типа | userVaz | C# (си шарп) | 7 | 05.05.2012 10:58 |
Список из элементов разного типа | mMAg | Общие вопросы C/C++ | 4 | 27.05.2011 20:10 |
Объявление классов. Применение принципов ООП | get | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 26.05.2011 13:15 |
функция malloc() для разного типа переменной. | Serjuk | Помощь студентам | 46 | 05.01.2010 21:52 |
Использование собственного типа для юнита | Алекс Ялта | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 17 | 26.03.2009 15:55 |