ZADANIE EGZAMINACYJNE INF.04 – APLIKACJA DESKTOPOWA – REZERWACJA HOTELU

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:

  1. Przycisk „Sprawdź cenę Hotelu” wyświetla cennik pokoi w MessageBox.
  2. 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ługaCena
Pokój Standard150 zł/doba/os
Pokój Standard+200 zł/doba/os
Pokój Lux350 zł/doba/os
Pokój VIP1500 zł/doba/os
Śniadanie40 zł/os/doba
Parking80 zł/doba
Dzieci10% zniżki

KRYTERIA OCENY

 (Zgodne z INF.04 – aplikacja desktopowa)

KategoriaPunkty
Poprawne utworzenie formularza i ustawienie kontrolek5
Wczytanie danych klienta z TextBoxów2
Poprawne pobranie typu pokoju z RadioButton2
Pobranie liczby gości (NumericUpDown)2
Obliczenie liczby dni na podstawie dat2
Uwzględnienie śniadania i parkingu (RadioButton)2
Zastosowanie zniżki 10% dla dzieci2
Poprawne obliczenie łącznego kosztu4
Wyświetlenie podsumowania MessageBoxem2
Zabezpieczenie danych wejściowych (np. brak daty)2
Estetyka, układ graficzny, poprawne działanie GUI3
Maksymalna liczba punktów:28

SCHEMAT POSTĘPOWANIA – KROK PO KROKU

  1. Stwórz nowy projekt Windows Forms (.NET Framework).
    • Dlaczego: zgodnie ze specyfikacją egzaminu INF.04.
  2. 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).
  3. Zaprogramuj zdarzenia przycisków:
    • btnCena_Click – wyświetla cennik.
    • btnRezeruj_Click – zbiera dane, liczy koszt, pokazuje podsumowanie.
  4. 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)

  1. Pobiera dane z kontrolek.
  2. Sprawdza, czy daty są poprawne.
  3. Oblicza koszt:
    • Osobno dorośli, dzieci (zniżka 10%)
    • Parking, śniadanie – tylko jeśli zaznaczone
    • Cena zależna od liczby dni
  4. 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.