🔥 أحدث الأخبار

موقع يهتم بكل ماهو جديد في عالم التكنولوجيا والرياضة

كورس C++ المتقدم – الحلقة العاشرةوالاخيرة : مشروع احترافي كامل (Real Project)


 

كورس C++ المتقدم – الحلقة العاشرة: مشروع احترافي كامل (Real Project)

#برمجة

مقدمة

مرحباً بك في الحلقة العاشرة والأخيرة من المستوى المتقدم في C++.

في الحلقات السابقة تعلمنا:

  • Templates
  • Exception Handling
  • Smart Pointers
  • Lambda
  • Multithreading
  • File Handling + Serialization
  • STL المتقدم
  • OOP + Design Patterns
  • Modern C++

واليوم سنجمع كل هذه المهارات في مشروع واحد حقيقي:

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


فكرة المشروع

نقوم بإنشاء نظام يقوم بـ:

✔ إضافة كتب
✔ عرض الكتب
✔ البحث عن كتاب
✔ حذف كتاب
✔ حفظ البيانات في ملف
✔ تحميل البيانات عند التشغيل


الأدوات المستخدمة

  • OOP
  • STL (vector)
  • File Handling
  • Smart logic
  • Modern C++

تصميم الكلاس الأساسي

#include <iostream>
#include <vector>
#include <fstream>
using namespace std;

class Book
{
public:
    int id;
    string title;
    string author;

    void display()
    {
        cout << id << " - " << title << " - " << author << endl;
    }
};

كلاس المكتبة

class Library
{
private:
    vector<Book> books;

public:

إضافة كتاب

    void addBook(Book b)
    {
        books.push_back(b);
    }

عرض الكتب

    void showBooks()
    {
        for(auto &b : books)
        {
            b.display();
        }
    }

البحث عن كتاب

    void searchBook(int id)
    {
        for(auto &b : books)
        {
            if(b.id == id)
            {
                cout << "Found: ";
                b.display();
                return;
            }
        }

        cout << "Book not found" << endl;
    }

حذف كتاب

    void deleteBook(int id)
    {
        for(auto it = books.begin(); it != books.end(); it++)
        {
            if(it->id == id)
            {
                books.erase(it);
                cout << "Book deleted" << endl;
                return;
            }
        }

        cout << "Book not found" << endl;
    }

حفظ البيانات في ملف

    void saveToFile()
    {
        ofstream file("library.txt");

        for(auto &b : books)
        {
            file << b.id << endl;
            file << b.title << endl;
            file << b.author << endl;
        }

        file.close();
    }

تحميل البيانات من ملف

    void loadFromFile()
    {
        ifstream file("library.txt");

        books.clear();

        while(true)
        {
            Book b;

            file >> b.id;
            file.ignore();

            if(file.eof()) break;

            getline(file, b.title);
            getline(file, b.author);

            books.push_back(b);
        }

        file.close();
    }
};

البرنامج الرئيسي

int main()
{
    Library lib;

    lib.loadFromFile();

إضافة كتب

    Book b1;
    b1.id = 1;
    b1.title = "C++ Basics";
    b1.author = "Ahmed";

    Book b2;
    b2.id = 2;
    b2.title = "Data Structures";
    b2.author = "Ali";

    lib.addBook(b1);
    lib.addBook(b2);

عرض الكتب

    cout << "All Books:\n";
    lib.showBooks();

البحث

    cout << "\nSearch:\n";
    lib.searchBook(1);

حذف كتاب

    cout << "\nDelete:\n";
    lib.deleteBook(2);

حفظ البيانات

    lib.saveToFile();

    return 0;
}

شكل النظام

ID - Title - Author
1 - C++ Basics - Ahmed
2 - Data Structures - Ali

ماذا تعلمنا في المشروع؟

✔ OOP حقيقي
✔ استخدام vector
✔ التعامل مع الملفات
✔ البحث والحذف
✔ تصميم نظام كامل


تحسينات احترافية (لو أردت تطويره)

يمكنك إضافة:

🔥 Smart Pointers
🔥 Login System
🔥 GUI
🔥 Database بدل الملفات
🔥 Multithreading للبحث
🔥 Lambda للفلاتر


أين يستخدم هذا النوع من المشاريع؟

✔ أنظمة المكتبات
✔ برامج المدارس
✔ أنظمة الشركات
✔ تطبيقات الإدارة
✔ مشاريع التخرج


أخطاء شائعة

❌ نسيان file.close
❌ عدم تنظيف vector
❌ أخطاء في قراءة الملفات
❌ عدم التحقق من eof


تمرين 1

أضف خاصية تعديل كتاب.


تمرين 2

أضف بحث باسم الكتاب.


تمرين 3

أضف عدد الكتب في المكتبة.


تمرين 4

اجعل النظام Menu تفاعلي.


تمرين 5

أضف تسجيل مستخدمين (Admin / User).


نهاية الكورس المتقدم 🎉

لقد وصلت إلى مستوى احترافي في C++.

ماذا أصبحت الآن؟

✔ تستطيع بناء أنظمة حقيقية
✔ تفهم STL و OOP و Modern C++
✔ تستطيع العمل على مشاريع متقدمة
✔ جاهز للتطبيقات والشركات



تعليقات

💬 🙋🏻‍♂️