This project is the first deliverable of our Object-Oriented Programming (OOP) course.
It implements an Offline Google Search Engine using structured programming concepts like arrays, pointers, dynamic memory allocation, and file handling.
The next deliverable will convert this project into a fully object-oriented version.
- π Search keywords within offline dataset files.
β οΈ Notify the user when no results are found and suggest alternative keywords.- π Modular design:
- Data Handling Module: Manages datasets and file operations.
- Search Engine Module: Handles keyword searching, result matching, and ranking.
- User Interface Module: Provides console-based interaction.
- Data Handling Module: Manages datasets and file operations.
- π Supports both text and binary file operations for offline usage.
Offline-search-engine/
βββ data/
β βββ dataset.bin
β βββ filelist.txt
βββ include/
β βββ engine.h
βββ src/
β βββ main.cpp
β βββ module1_filehndlng.cpp
β βββ module2_search.cpp
β βββ module3_ui.cpp
βββ LICENSE
βββ README.md
Javeria Akram - BCSF24A005 β Repo Owner
Syeda Laraib β BCSF24A002 - contributor
Ayesha Arif β BCSF24A040 - contributor
-
Clone the repository:
git clone https://github.com/Javeriaakram-07/Offline-search-engine.git
-
Navigate to the project folder and compile:
g++ src/main.cpp src/module1_filehndlng.cpp src/module2_search.cpp src/module3_ui.cpp -Iinclude -o searchEngine
-
Run the executable:
./searchEngine # on Linux/macOS searchEngine.exe # on Windows
-
Enter keywords to search the offline dataset.
β
This version is implemented using structured programming; the OOP version will be done in the next deliverable.
β
Only arrays, pointers, dynamic memory allocation, and file handling are used. No advanced data structures like vectors.
β
Modular structure allows multiple contributors to work on separate modules simultaneously.
β
Proper handling of cases when search results are not found with user-friendly messages.