Menu
Coddy logo textTech

Сводка бронирований

Часть раздела Основы путешествия по Solidity на Coddy. Урок 53 из 53.

challenge icon

Задание

Сложно

Определите структуру Booking с полями uint256 capacity и uint256 reserved. Инициализируйте Booking в памяти, используя первые два входных значения. Используйте вспомогательную функцию internal pure, чтобы определить, помещается ли requested в оставшуюся capacity. Если помещается, добавьте requested к reserved. Выведите решение, итоговое значение reserved и оставшуюся capacity. Начальное значение 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 {
        // Напишите ваше решение здесь.
    }
}

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Solidity