Menu
CoddyTech

Sprzedaż eliksiru

Część sekcji Podstawy ścieżki Lua w Coddy. Lekcja 82 z 90.

challenge icon

Wyzwanie

Łatwy

Dokończ projekt swojego sklepu z miksturami, wdrażając system transakcji sprzedaży. Rozwijając funkcję wyszukiwania, utwórz system, który obsługuje sprzedaż mikstury, zmniejszając jej stan magazynowy i wyświetlając potwierdzenie transakcji.

Zostaną podane następujące dane wejściowe:

  • Łańcuch znaków zawierający nazwę mikstury przeznaczonej do sprzedaży

Zastąp instrukcje Found, Price i Stock wyświetlające wyniki z poprzedniego kroku informacją o sprzedaży, tak aby wyświetlane były tylko dwa poniższe wiersze. Odczytaj nazwę mikstury za pomocą pojedynczego wywołania io.read(): każde uruchomienie zapewnia jeden wiersz danych wejściowych.

Użyj numerycznej pętli for, aby przejść przez tabelę inventory i znaleźć wskazaną miksturę. Po znalezieniu pasującej mikstury za pomocą operatora równości == zmniejsz jej wartość stock o 1, aby zasymulować sprzedaż.

Po zaktualizowaniu stanu magazynowego wyświetl komunikat potwierdzający, zawierający nazwę mikstury i jej nowy stan magazynowy, w następującym formacie:

Sold 1 [potion name]
Remaining stock: [new stock count]

Użyj konkatenacji łańcuchów znaków, aby połączyć opisowy tekst z nazwą mikstury i zaktualizowaną ilością w magazynie. Po obsłużeniu sprzedaży użyj instrukcji break, aby wyjść z pętli.

Spróbuj swoich sił

-- Inventory table with potion data
inventory = {
    {name = "Health Potion", price = 15, stock = 8},
    {name = "Mana Potion", price = 12, stock = 5},
    {name = "Strength Potion", price = 25, stock = 3},
    {name = "Speed Potion", price = 18, stock = 2}
}

-- Read the potion name to search for
search_name = io.read()

-- Use a numeric for loop to search through the inventory
for i = 1, #inventory do
    if inventory[i].name == search_name then
        print("Found: " .. inventory[i].name)
        print("Price: " .. inventory[i].price .. " gold")
        print("Stock: " .. inventory[i].stock .. " units")
        break
    end
end

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Lua online