Rejestr stanów magazynowych
Część sekcji Podstawy ścieżki Solidity w Coddy. Lekcja 51 z 53.
Wyzwanie
TrudnyUtrzymuj mapowanie identyfikatorów elementów na stany magazynowe. Dodaj firstQty do firstId i secondQty do secondId, a następnie odejmij used od stanu magazynowego dla firstId. Wypisz końcowy stan magazynowy dla firstId, a następnie dla secondId. Identyfikatory mogą być takie same. used nigdy nie przekracza stanu dostępnego dla firstId po obu dodaniach.
Testy przekazują argumenty do main w tej kolejności: uint256 firstId, uint256 firstQty, uint256 secondId, uint256 secondQty, uint256 used. Każdy test rozpoczyna się od nowego stanu kontraktu.
Użyj console.log, aby wypisać żądany wynik. Wypisz tylko żądane wartości, po jednej w wierszu, bez dodatkowych etykiet, chyba że zadanie wyraźnie ich wymaga.
Spróbuj swoich sił
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 firstId, uint256 firstQty, uint256 secondId, uint256 secondQty, uint256 used) external {
// Wpisz tutaj swoje rozwiązanie.
}
}Wszystkie lekcje w sekcji Podstawy
2Zmienne i typy
Liczby całkowite bez znakuWejście i wyjścieLiczby całkowite ze znakiemWartości logiczneŁańcuchy znaków w pamięciKarta profilu5Funkcje
Parametry funkcjiZwracanie wartościFunkcje czysteWywołania pomocniczeWielokrotnego użytku obliczeniaPoćwicz samodzielnie: Edytor online Solidity