نظام إدارة سجلات الطلاب (C++ File System)
يعد هذا المشروع تطبيقاً عملياً على كيفية التعامل مع أنظمة الملفات (File Systems) وتخزين البيانات بشكل دائم (Persistent Storage). يقوم النظام بإدارة بيانات الطلاب الأساسية التي تشمل: الرقم التعريفي (ID)، الاسم، القسم، والمعدل التراكمي (GPA).
أهم الخصائص التقنية:
تخزين البيانات الثابت (Fixed-length Record Formatting): يستخدم النظام دالة format لضمان تخزين كل حقل بطول ثابت (15 حرفاً)، مما يسهل عملية القراءة والتنظيم داخل الملف النصي filesystem.txt.
إدارة السجلات (CRUD Operations):
الإضافة (Insert): إمكانية إضافة سجلات جديدة في نهاية الملف أو إعادة تهيئة الملف بالكامل.
البحث (Search): التحقق من وجود طالب معين باستخدام الرقم التعريفي (ID) من خلال البحث في البيانات المحملة في الذاكرة.
التحديث والحذف (Update & Delete): يعتمد النظام على تحميل البيانات في vector (ذاكرة مؤقتة)، إجراء التعديل، ثم إعادة كتابة الملف بالكامل لضمان تحديث السجلات بدقة.
محرك الاستعلامات (Query Engine): يتضمن ميزة لحساب عدد الطلاب في قسم معين مع خاصية (Case-insensitivity) لضمان دقة النتائج بغض النظر عن حالة الأحرف.
مزامنة البيانات (Data Reloading): يقوم النظام عند بدء التشغيل بقراءة كافة البيانات من الملف وتخزينها في الذاكرة (Memory-mapped approach) لسرعة المعالجة.
كيفية العمل:
يعمل النظام من خلال واجهة سطر أوامر (CLI) تفاعلية تتيح للمستخدم الاختيار من بين عدة خيارات (إضافة، تحديث، حذف، بحث، أو استعلام)، مما يجعله نموذجاً مثالياً لفهم كيفية بناء قواعد البيانات البسيطة والتعامل مع الـ Data Structures مثل struct و vector.