Tytuł zadania:
“System rezerwacji pokoi w hotelu Grunwaldzka”
Opis sytuacji:
Hotel Grunwaldzka planuje wdrożyć prostą aplikację desktopową do obsługi rezerwacji pokoi. Twoim zadaniem jest przygotowanie formularza rejestracyjnego w środowisku Visual Studio 2022 z wykorzystaniem technologii Windows Forms (.NET Framework).
Aplikacja powinna umożliwiać:
- Wprowadzenie danych klienta (imię, nazwisko).
- Wybór typu pokoju (Standard, Standard+, Lux, VIP).
- Podanie liczby gości: dorosłych i dzieci.
- Wybór daty przyjazdu i wyjazdu.
- Dodanie śniadania i/lub parkingu.
- Obliczenie łącznego kosztu pobytu z uwzględnieniem zniżki 10% na dzieci.
- Wyświetlenie szczegółowego podsumowania w wyskakującym oknie.
Wymagania funkcjonalne aplikacji:
- Przycisk „Sprawdź cenę Hotelu” wyświetla cennik pokoi w MessageBox.
- Przycisk „Rezerwuj”:
- Sprawdza poprawność danych.
- Oblicza łączny koszt.
- Wyświetla podsumowanie w MessageBox.
WYMAGANE ELEMENTY INTERFEJSU
- 3x PictureBox (galeria hotelu)
- 1x TextBox do opisu hotelu
- GroupBox z RadioButtonami (wybór typu pokoju)
- GroupBox z NumericUpDown (liczba gości: dorośli, dzieci)
- 2x DateTimePicker (przyjazd/wyjazd)
- 2x GroupBox z RadioButton (parking, śniadanie)
- Button – Sprawdź cenę Hotelu
- Button – Rezerwuj
CENNIK
| Usługa | Cena |
|---|---|
| Pokój Standard | 150 zł/doba/os |
| Pokój Standard+ | 200 zł/doba/os |
| Pokój Lux | 350 zł/doba/os |
| Pokój VIP | 1500 zł/doba/os |
| Śniadanie | 40 zł/os/doba |
| Parking | 80 zł/doba |
| Dzieci | 10% zniżki |
KRYTERIA OCENY
(Zgodne z INF.04 – aplikacja desktopowa)
| Kategoria | Punkty |
|---|---|
| Poprawne utworzenie formularza i ustawienie kontrolek | 5 |
| Wczytanie danych klienta z TextBoxów | 2 |
| Poprawne pobranie typu pokoju z RadioButton | 2 |
| Pobranie liczby gości (NumericUpDown) | 2 |
| Obliczenie liczby dni na podstawie dat | 2 |
| Uwzględnienie śniadania i parkingu (RadioButton) | 2 |
| Zastosowanie zniżki 10% dla dzieci | 2 |
| Poprawne obliczenie łącznego kosztu | 4 |
| Wyświetlenie podsumowania MessageBoxem | 2 |
| Zabezpieczenie danych wejściowych (np. brak daty) | 2 |
| Estetyka, układ graficzny, poprawne działanie GUI | 3 |
| Maksymalna liczba punktów: | 28 |
SCHEMAT POSTĘPOWANIA – KROK PO KROKU
- Stwórz nowy projekt Windows Forms (.NET Framework).
- Dlaczego: zgodnie ze specyfikacją egzaminu INF.04.
- Rozmieść kontrolki zgodnie z layoutem:
- Panel heder (nazwa hotelu, zdjęcie)
- Panel lewy – opis hotelu, galeria (3x PictureBox)
- Panel prawy – formularz rezerwacji (TextBox, GroupBox, NumericUpDown, DateTimePicker).
- Zaprogramuj zdarzenia przycisków:
- btnCena_Click – wyświetla cennik.
- btnRezeruj_Click – zbiera dane, liczy koszt, pokazuje podsumowanie.
- W btnRezeruj_Click:
- Odczytaj dane klienta.
- Sprawdź daty.
- Pobierz ilość dorosłych i dzieci.
- Sprawdź zaznaczenia śniadania/parkingu.
- Oblicz koszt z uwzględnieniem dni, zniżki i dodatków.
- Wyświetl MessageBox.
OMÓWIENIE METOD
btnCena_Click(object sender, EventArgs e)
Wyświetla okno z cennikiem – używamy MessageBox.Show, by poinformować użytkownika o kosztach pokoi.
btnRezeruj_Click(object sender, EventArgs e)
- Pobiera dane z kontrolek.
- Sprawdza, czy daty są poprawne.
- Oblicza koszt:
- Osobno dorośli, dzieci (zniżka 10%)
- Parking, śniadanie – tylko jeśli zaznaczone
- Cena zależna od liczby dni
- Wyświetla wynik w MessageBox.
WARTO WIEDZIEĆ
- decimal – typ danych do pieniędzy, precyzyjny.
- DateTimePicker.Value.Date – pobiera tylko datę, bez czasu.
- RadioButton.Checked – sprawdza, który pokój wybrano.
- NumericUpDown.Value – pobiera liczbę osób.
- MessageBox.Show – do komunikatów i podsumowań.
- GroupBox – grupuje kontrolki (lepsza czytelność).
- PictureBox.SizeMode = StretchImage – dopasowuje obraz.





