Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2014, 17:25   #1
lixod96
Пользователь
 
Регистрация: 23.04.2014
Сообщений: 18
По умолчанию C++ Использование принципов ООП для поиска в файлах разного типа

Хотя бы намекните с чего начать. Может у кого то было подобное.

Использование принципов ООП для поиска в файлах разного типа
Исходные данные

Каталоги с файлами разных типов (.txt, .xml, и html и другие).

Задание

1. Написать программу, которая будет осуществлять поиск введенного слова или фразы во всех файлах каталога (с возможностью сканирования подкаталогов) и выводить результаты поиска.

Формат вывода результата:

название файла;
полный путь к файлу;
номер строки;
фраза или предложение с искомым словом или фразой:
для .txt - предложение, в котором встретилось слово;
для .xml - название объекта, в котором встретилось слово;
для .html - 3 слова слева и справа от найденного...., без тегов;
для других на выбор разработчика.

2. В программе обязательно должна использовать такие принципы и механизмы ООП как:

инкапсуляция;
наследование;
полиморфизм;
абстрактные классы;
вложение классы.
3. Входные параметры ( слово или фраза для поиска, [начальный каталог], [флаг о сканировании подкаталогов], [форматы допустимых файлов] , [имя файла для вывода результатов]

4. По результатам сканирования программа должна вывести статистику которая содержит следующую информацию:

количество найденных совпадений;
количество сканированных файлов;
количество сканированных строк;
полное время сканирования;
средние время сканирования файла.
lixod96 вне форума Ответить с цитированием
Старый 11.01.2015, 22:27   #2
Zenon
Пользователь
 
Регистрация: 03.07.2014
Сообщений: 32
По умолчанию

Вам понадобится один базовый абстрактный класс для "файла вообще" и три унаследованных от него класса - для txt, xml и html, в которых будут функции, анализирующие файлы и печатающие вывод - функции с одинаковыми именами, но разными "телами" (в базовом классе - одноименная заглушка = 0).

Где приткнуть вложенный класс - ну, например, можно в базовом определить какой-нибудь вспомогательный вложенный, отвечающий за те действия, которые в трех случаях одинаковы.
Zenon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Список обьектов имеющих одинаковое поле но разного типа 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