Skip to content

Kalkulator kosztow

This content is not available in your language yet.

Stworzysz Kalkulator kosztow - aplikacje umozliwiajaca obliczanie kosztu całkowitego produktu lub usługi na podstawie podanych parametrow. Użytkownik wprowadza cene jednostkowa, ilosc oraz rabat (procentowy lub kwotowy), a system automatycznie oblicza i wyświetla cene końcowa. Historia wszystkich obliczen jest zapisywana do pliku JSON, co pozwala sledzic poprzednie kalkulacje.

Czego się nauczysz?

  • Obsługi formularzy HTML i walidacji danych w PHP
  • Operacji matematycznych i formatowania liczb
  • Zapisu i odczytu danych z plikow JSON
  • Tworzenia historii operacji z datami

W prawdziwej pracy...

Kalkulatory kosztow sa podstawa systemow e-commerce, fakturowania i sprzedazy. Każdy sklep internetowy, system POS czy aplikacja do wystawiania ofert wymaga podobnych obliczen. Umiejetnosc walidacji danych liczbowych i obsługi rabatow to codziennosc w pracy programisty tworzacego aplikacje biznesowe.

  1. Formularz wprowadzania danych Użytkownik podaje cene jednostkowa produktu, ilosc sztuk oraz opcjonalny rabat (jako procent lub kwote stałej znizki).

  2. Obliczenie kosztu końcowego System przelicza koszt całkowity uwzgledniajac ilosc i rabat, wyswietlajac wynik w czytelnej formie (np. “180,00 zl”).

  3. Zapis do historii Każde obliczenie jest zapisywane do pliku JSON wraz z data wykonania, co pozwala później przegladac poprzednie kalkulacje.

Przykładowa struktura pliku JSON:

{
"calculations": [
{
"id": 1,
"price": 100.00,
"quantity": 2,
"discount": 10,
"discount_type": "percent",
"total": 180.00,
"created_at": "2026-02-13 10:30:00"
},
{
"id": 2,
"price": 50.00,
"quantity": 5,
"discount": 25,
"discount_type": "amount",
"total": 225.00,
"created_at": "2026-02-13 11:45:00"
}
]
}

Wymagane funkcje:

  • Formularz z polami: cena jednostkowa, ilosc, rabat procentowy
  • Walidacja danych w PHP (liczby dodatnie, rabat 0-100%)
  • Obliczenie i wyświetlenie kosztu końcowego
  • Zapis każdego obliczenia do pliku JSON
  • Prosty interfejs CSS (czytelny formularz)

Przykładowy scenariusz:

Użytkownik wchodzi na strone i widzi formularz. Wpisuje cene 100 zl, ilosc 2 sztuki i rabat 10%. Po kliknieciu “Oblicz” widzi wynik: “Koszt całkowity: 180,00 zl”. Obliczenie zostaje zapisane do pliku JSON.

Ocena: 3.0

Walidacja liczby dodatniej:

$price = filter_var($_POST['price'], FILTER_VALIDATE_FLOAT);
if ($price === false || $price <= 0) {
$errors[] = "Cena musi być liczba dodatnia";
}

Obliczenie rabatu procentowego:

$subtotal = $price * $quantity;
$discount_amount = $subtotal * ($discount / 100);
$total = $subtotal - $discount_amount;

Zapis do JSON:

$data = json_decode(file_get_contents('history.json'), true) ?? ['calculations' => []];
$data['calculations'][] = [
'id' => count($data['calculations']) + 1,
'price' => $price,
'quantity' => $quantity,
'discount' => $discount,
'total' => $total,
'created_at' => date('Y-m-d H:i:s')
];
file_put_contents('history.json', json_encode($data, JSON_PRETTY_PRINT));

Wykorzystaj lekcje!

Cotygodniowe spotkania podczas lekcji to idealny moment, by:

  • Pokazac postepy - nawet małe kroki się licza
  • Wyjaśnić watpliwosci - pytaj, nie zgaduj
  • Skonsultowac rozwiązania - feedback pomoze Ci się rozwijac

Pracuj iteracyjnie - lepiej mieć działający wariant A niz niedokonczony C!