Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

منطق الإيداع

جزء من قسم Object Oriented Programming في رحلة C على Coddy — الدرس 24 من 61.

challenge icon

التحدي

سهل

حان الوقت لإضافة أول عملية بنكية حقيقية إلى وحدة الحساب (Account) الخاصة بك—القدرة على إيداع الأموال! يجب أن تكون وظيفة الإيداع ذكية: يجب أن تقبل فقط المبالغ الموجبة، مما يحمي حسابك من المعاملات غير الصالحة.

بناءً على مشروع حساب البنك الحالي، ستقوم بتوسيع الوحدة بوظيفة الإيداع. يجب أن تتحقق وظيفة الإيداع الخاصة بك من المدخلات قبل تعديل الرصيد المخفي—هذا هو مبدأ التغليف (encapsulation) الذي يعمل على حماية سلامة بياناتك.

ستعمل على ثلاثة ملفات:

  • account.h: قم بتوسيع ملف الترويسة الحالي عن طريق إضافة نموذج أولي لوظيفة جديدة: deposit. يجب أن تأخذ هذه الوظيفة مؤشر Account ومبلغاً من نوع double، وتُرجع int (1 للنجاح، و 0 إذا كان المبلغ غير صالح). احتفظ بالإعلانات الحالية لـ create_account و destroy_account.
  • account.c: قم بتنفيذ وظيفة deposit جنباً إلى جنب مع المنشئ (constructor) والمدمر (destructor) الحاليين. يجب أن ينجح الإيداع فقط إذا كان المبلغ موجباً (أكبر من الصفر). إذا كان صالحاً، أضف المبلغ إلى الرصيد المخفي وأرجع 1. إذا كان المبلغ صفراً أو سالباً، فارفضه بإرجاع 0 دون تغيير الرصيد.
  • main.c: قم باستعراض وظيفة الإيداع الخاصة بك عن طريق إنشاء حساب وإجراء عمليات إيداع متعددة—بعضها صالح وبعضها غير صالح—لإظهار أن التحقق من الصحة يعمل بشكل صحيح.

ستتلقى ثلاثة مدخلات: معرف الحساب (عدد صحيح)، و مبلغ إيداع صالح (رقم موجب)، و مبلغ إيداع غير صالح (صفر أو سالب).

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

اطبع المخرجات بهذا التنسيق:

Account 1001 created
Deposit -50.00: 0
Deposit 200.00: 1
Account destroyed

حيث 1001 هو معرف الحساب، و -50.00 هو المبلغ غير الصالح، و 200.00 هو المبلغ الصالح. قم بتنسيق جميع المبالغ بمنزلتين عشريتين باستخدام %.2f.

تعمل وظيفة الإيداع الخاصة بك كحارس بوابة—فهي تضمن أن المعاملات الصالحة فقط هي التي يمكنها تعديل الرصيد المخفي للحساب. على الرغم من أنك لا تستطيع رؤية الرصيد بعد (سنضيف وظيفة جلب الرصيد في درس لاحق)، يمكنك الوثوق في أن عمليات الإيداع غير الصالحة يتم رفضها بشكل صحيح.

جرّب بنفسك

#include <stdio.h>
#include "account.h"

int main() {
    int account_id;
    scanf("%d", &account_id);
    
    Account* account = create_account(account_id);
    printf("Account %d created\n", account_id);
    
    destroy_account(account);
    printf("Account destroyed\n");
    
    return 0;
}

جميع دروس Object Oriented Programming