This project is a data structure-based application developed in C++ with the primary goal of implementing a timetable management system for students using efficient data structures. The application handles various functionalities related to student timetables, course schedules, and room allocations.
- Efficient Data Storage: Utilize efficient data structures to store and manage timetable information.
- Pointer Usage: Implement pointers for dynamic memory management.
- Memory Leak Handling: Ensure proper memory allocation and deallocation to prevent memory leaks.
- File Handling: Read data from text files to build the timetable system.
students.txt
: Contains information about students.timetable.txt
: Contains the schedule for all classes.
- Save Data: Efficiently save all timetable and student data using appropriate data structures.
- Show Student Timetable: Display the timetable for a specific student.
- Show Rooms for Courses: Display the rooms allocated for various courses.
- Show Sections for Each Course: Display the sections available for each course.
- Show Clashes: Identify and display timetable clashes for students.
- Encapsulation: Encapsulate data within classes to provide controlled access through public methods.
- Inheritance: Use inheritance to model entities and their relationships.
- Polymorphism: Override methods to provide specific behavior for different class types.
- Abstraction: Hide complex implementation details behind simple interfaces.
The application uses two major text files to store and manage data:
students.txt
: Contains information about students.timetable.txt
: Contains the schedule for all classes.
The application reads data from these files to build and simulate a timetable management system. Techniques used include:
- Reading Data: Reading student and timetable data from text files.
- Writing Data: Writing updates back to the text files as the application runs.
- Clone the repository to your local machine.
- Open the project in Visual Studio.
- Build and run the application.
Contributions are welcome. Please fork the repository and submit a pull request for review.