تفاصيل العمل

1. نوع العمل

تطبيق طرفية (Terminal-based Application) سريع وخفيف لإدارة الشؤون المالية الشخصية، مُطور بالكامل بلغة C. يُبرز هذا المشروع التمكن من المفاهيم البرمجية المتقدمة والمنخفضة المستوى (Low-level)، مثل إدارة الذاكرة الديناميكية، التعامل مع هياكل البيانات (Structs)، وعمليات الإدخال والإخراج للملفات (File I/O).

2. ميزات المشروع

الإدارة الديناميكية للذاكرة (Dynamic Memory Allocation): استخدام دوال malloc و realloc لتوسيع قائمة المعاملات المالية بلا حدود بناءً على حاجة المستخدم، مع ميزة تقليص حجم المصفوفات (Shrinking) تلقائياً عند الحذف لضمان الاستهلاك الأمثل للذاكرة العشوائية (RAM).

البرمجة الدفاعية (Defensive Programming): نظام تحقق صارم من مدخلات المستخدم بالاعتماد على strtol و strtod لمنع انهيار البرنامج (Crashes) بسبب إدخال أنواع بيانات خاطئة، بالإضافة إلى توفير آليات حماية ضد تلف ملفات البيانات الثنائية.

التخزين الثنائي للبيانات (Binary File Persistence): نظام حفظ واسترجاع سريع وموثوق للبيانات؛ حيث يتم حفظ هياكل البيانات (Structs) وقراءتها مباشرة من وإلى القرص الصلب بصيغة ثنائية (Binary) باستخدام fwrite و fread.

خوارزمية ترتيب مخصصة (Custom QuickSort): بناء وتطبيق خوارزمية الترتيب السريع (QuickSort) التكرارية (Recursive) برمجياً من الصفر، لفرز وترتيب المعاملات المالية بسرعة فائقة بناءً على التاريخ أو القيمة المادية.

التحليل المالي للبيانات (Data Analysis): القدرة على معالجة البيانات المدخلة لتوليد تقارير وملخصات شهرية دقيقة توضح صافي الرصيد وحجم المصروفات.

3. طريقة التنفيذ والتقنيات المستخدمة

البيئة واللغة: تم الاعتماد حصرياً على لغة C القياسية لبناء أداة تتسم بأقصى درجات السرعة والكفاءة.

هندسة البيانات: تم تصميم هياكل بيانات مخصصة (Structs) لتمثيل وتخزين كل معاملة مالية (المبلغ، التاريخ، الوصف) بشكل منظم.

الخوارزميات: كتابة الخوارزميات يدوياً (مثل خوارزمية الفرز) لضمان التحكم الكامل في الأداء بدلاً من الاعتماد المطلق على المكتبات الجاهزة، مما يعكس أساساً برمجياً قوياً.

معالجة الملفات: استخدام نظام القراءة والكتابة المتقدم (Binary File I/O) لضمان استمرارية البيانات (Persistence) بشكل آمن وسريع بين جلسات الاستخدام المختلفة.

بطاقة العمل

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