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

ملخّص الحجوزات

جزء من قسم الأساسيات في رحلة Solidity على Coddy. الدرس 53 من 53.

challenge icon

التحدي

صعب

عرّف struct Booking مع الحقلين uint256 capacity وuint256 reserved. هيّئ Booking في الذاكرة باستخدام أول مُدخلين. استخدم دالة مساعدة internal pure لتحديد ما إذا كانت القيمة requested تلائم السعة المتبقية. إذا كانت تلائمها، فأضف requested إلى reserved. اطبع القرار، والقيمة النهائية لـ reserved، والسعة المتبقية. لا تتجاوز القيمة الأولية لـ reserved قيمة capacity أبدًا.

تمرّر الاختبارات الوسائط إلى main بهذا الترتيب: uint256 capacity، uint256 reserved، uint256 requested. يبدأ كل اختبار بحالة عقد جديدة.

استخدم console.log للإخراج المطلوب. اطبع القيم المطلوبة فقط، قيمة واحدة في كل سطر، من دون تسميات إضافية ما لم تحدد المهمة ذلك.

جرّب بنفسك

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 capacity, uint256 reserved, uint256 requested) external view {
        // اكتب حلك هنا.
    }
}

جميع دروس الأساسيات

تدرّب بنفسك: Playground لـ Solidity