Récapitulatif des réservations
Fait partie de la section Fondamentaux du Journey Solidity de Coddy. Leçon 53 sur 53.
Défi
DifficileDéfinissez la structure Booking avec uint256 capacity et uint256 reserved. Initialisez un Booking en mémoire à l’aide des deux premières entrées. Utilisez une fonction auxiliaire internal pure pour déterminer si requested tient dans la capacité restante. Si c’est le cas, ajoutez requested à reserved. Affichez la décision, le nombre final de valeurs réservées et la capacité restante. Le nombre initial de valeurs réservées ne dépasse jamais la capacité.
Les tests transmettent les arguments à main dans cet ordre : uint256 capacity, uint256 reserved, uint256 requested. Chaque test commence avec un état de contrat vierge.
Utilisez console.log pour la sortie demandée. Affichez uniquement les valeurs demandées, une par ligne, sans libellés supplémentaires, sauf si la tâche les spécifie.
Essayez vous-même
// 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 {
// Écrivez votre solution ici.
}
}Toutes les leçons de Fondamentaux
2Variables et types
Entiers non signésEntrées et sortiesEntiers signésValeurs booléennesChaînes en mémoireCarte de profil5Fonctions
Paramètres des fonctionsValeurs de retourFonctions puresAppels de fonctions auxiliairesCalculs réutilisablesEntraînez-vous par vous-même : Playground Solidity