نظام إدارة مكتبة (Library Management System)

تفاصيل العمل

هذا المشروع كان مشروعًا جامعيًا يهدف إلى تطبيق المفاهيم الأساسية لهياكل البيانات عمليًا باستخدام لغة C++، من خلال بناء نظام بسيط وفعّال لإدارة العمليات الأساسية داخل المكتبة مثل إضافة الكتب، استعارتها، إرجاعها، والبحث عنها.

ركز المشروع على التنفيذ اليدوي (Manual Implementation) لهياكل البيانات لفهم آلية عملها داخليًا دون الاعتماد على المكتبات الجاهزة.

فكرة المشروع

تطوير نظام Console Application لإدارة مكتبة يتيح:

إضافة كتب جديدة إلى النظام

البحث عن كتاب باستخدام الـ ID

استعارة كتاب

إرجاع كتاب

عرض جميع الكتب

عرض قائمة الكتب المستعارة

عرض قائمة الكتب المُعادة

هياكل البيانات المستخدمة

تم بناء النظام باستخدام ثلاث هياكل بيانات أساسية:

1- Linked List – Catalog

تم استخدامها لتخزين جميع كتب المكتبة بشكل ديناميكي

كل عقدة (Node) تحتوي على:

رقم الكتاب (ID)

عنوان الكتاب

مؤشر للعنصر التالي

عمليات مضافة:

إضافة كتاب

البحث عن كتاب

عرض جميع الكتب

2- Queue – Borrowed Books (FIFO)

لتتبع الكتب المستعارة حسب ترتيب الاستعارة

تم تنفيذها باستخدام مصفوفة مع مؤشري front و rear

عمليات مضافة:

إضافة كتاب إلى قائمة الاستعارة

إزالة كتاب

التحقق من كون الكتاب مستعار

عرض قائمة الاستعارة

3- Stack – Returned Books (LIFO)

لتخزين الكتب المُعادة حسب آخر كتاب تم إرجاعه

تم تنفيذها باستخدام مصفوفة ومؤشر top

عمليات مضافة:

إضافة كتاب مُعاد

إزالة آخر كتاب

عرض الكتب المُعادة

الهيكلة البرمجية

تم تقسيم المشروع إلى ملفات منظمة:

Catalog.h / Catalog.cpp

Queue.h / Queue.cpp

Stack.h / Stack.cpp

Main.cpp

مما يعكس فهمًا جيدًا لمبدأ فصل الملفات وتنظيم المشاريع في C++.

ما يعكسه هذا المشروع

فهم عميق لهياكل البيانات (Stack – Queue – Linked List)

القدرة على تنفيذها يدويًا بدون STL

التعامل مع المؤشرات والذاكرة الديناميكية

تنظيم الكود في ملفات Header و Source

كتابة كود نظيف ومُعلق

التفكير المنطقي في إدارة العمليات

تطويرات مستقبلية مقترحة

استخدام هياكل بيانات ديناميكية بدل المصفوفات الثابتة

حفظ البيانات في ملفات (File Handling)

إضافة نظام صلاحيات (Admin / Member)

بناء واجهة رسومية باستخدام Qt

الهدف من المشروع

تطبيق المفاهيم الأكاديمية لهياكل البيانات عمليًا وبناء نظام متكامل باستخدام C++ يعكس الفهم الحقيقي لآلية عمل الـ Stack والـ Queue والـ Linked List.

إذا كنت تبحث عن مطور يمتلك أساس قوي في هياكل البيانات وتنظيم الكود في C++ — فهذا المشروع يوضح ذلك بوضوح.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
3
تاريخ الإضافة
تاريخ الإنجاز
المهارات