Programowanie obiektowe Tematy projektów
Wytyczne Podane tematy wymagają własnej implementacji Podana jest ogólna charakterystyka projektu szczegóły implementacji są już indywidualnymi rozwiązaniami autora Program ma być zaimplementowany kompleksowo ma umożliwiać komunikację z użytkownikiem w sposób jasny Interface użytkownika powinien być mniej lub bardziej intuicyjny
Zadanie 1 :: Poniedziałek 8:00 (IS) Zarządzenie budżetem domowym Program ma możliwość dodawania i planowania wydatków. W wydatkach powinno być uwzględniona kwota, stan oraz powtarzalność (co pewien okres czasu) opłaty. Przy uruchamianiu pobieramy listę wydatków z pliku, lub bazy danych (jeśli nie jest to pierwsze uruchomienie), sprawdzamy stan aktualnie zapisanych wydatków oraz mamy możliwość zdefiniowania nowych opłat.
Zadanie 2 :: Poniedziałek 9:45 (IO) Zarządzenie zasobami domowymi Program ma możliwość zdefiniowania domowych zasobów (przedmioty) oraz osoby (członkowie rodziny i znajomi). W programie mamy możliwość przypisania przedmiotu do osoby (dla znajomych wypożyczenie). Definiujemy co, kto i kiedy wykorzystuje w celu zarządzania domowymi zasobami. Program powinien mieć możliwość wyszukiwania elementów oraz wyświetlania tych, które są na stanie, używane przez rodzinę, pożyczone znajomym. Dane mają być przechowywane w pliku lub bazie danych.
Zadanie 3 :: Poniedziałek 11:30 (IO) Wypożyczalnia sprzętu Program ma zdefiniowaną bazę przedmiotów mogących zostać wypożyczone, możliwe jest powiększenie zasobów. W systemie mamy również istniejących użytkowników jak i możliwość zdefiniowania nowych. Użytkownik ma możliwość przypisania przedmiotu do osoby z uwzględnieniem co i kiedy zostało wypożyczone, oraz na jaki okres czasu. Ma też mieć możliwość wyświetlenia informacji jaki użytkownik zalega z oddaniem lub ile czasu pozostało do oddania konkretnego sprzętu.
Zadanie 4 :: Wtorek 8:00 (IS) Recepcja hotelowa Program ma możliwość dokonywania rezerwacji pokoi hotelowych o różnych standardach dla potencjalnych klientów (indywidualny, biznesowy, grupowy). Program powinien mieć możliwość weryfikacji stanu wszystkich pokojów, zajętych oraz wolnych na dany dzień. Przechowywanie danych o pokojach oraz klientach może odbywać się przez plik(i) lub bazę danych (opcjonalne).
Zadanie 5 :: Wtorek 9:45 (IO) Automat Napisz program, który będzie symulował pracę automatu z produktami. Automat zawiera elementy różnych typów. Program ma umożliwić zakup produktu jeśli jest on dostępny w automacie Program ma też możliwość wydawania reszty z kwoty wprowadzonej przez użytkownika (automat nie ma nieskończonej puli pieniędzy!). Stan produktów, ilość, zasoby finansowe mogą być przechowywane w pliku.
Zadanie 6 :: Wtorek 11:30 (IS) Dziekanat Napisz program w którym możliwe jest zdefiniowanie lub wczytanie listy studentów oraz zarządzanie ich ocenami. Student może zdobyć punkty na każdych <0-max>. Ocena końcowa jest wyliczana na bazie zdobytych punktów (możliwych do zdobycia :: jedna nieobecność bez konsekwencji, zwolnienie lekarskie). Do programu podajemy rolę użytkownika: prowadzący ma możliwość podglądu i uzupełniania całych grup, a student ma możliwość podglądu tylko swoich punktów. Dane zachowujemy w pliku (można wygenerować plik xlsx)
Zadanie 7 :: Wtorek 13:15 (IS) RPG Napisz program w którym będzie zaimplementowana prosta rozgrywka RPG. Mamy mieć do dyspozycji postacie oraz ekwipunek, który wpływa na statystyki postaci (w zależności od rodzaju postaci). Rozgrywka ma mieć postać sekwencyjną dla jednego bohatera z możliwością rozwoju postaci. W programie ma być możliwość zapisania stanu gry i wznowienie od konkretnego momentu.
Zadanie 8 :: Środa 8:00 (IS) Zarządzenie domową biblioteką Napisz program w którym będzie można zdefiniować domową bibliotekę (filmy, książki etc.). Dane mogą być wprowadzone przez użytkownika lub pobrane ze ścieżki katalogu* (jeśli takowy istnieje). W programie użytkownik ma możliwość oznaczenia statusy (przeczytana/obejrzany) oraz dodania krótkiej recenzji (notatki). Każdy element zbioru powinien mieć znacznik czasowy, kiedy został do zbioru dodany, który może być wykorzystywany przy przeglądaniu zbioru (np. elementy starsze/nowsze niż tydzień, miesiąc, rok).
Zadanie 9 :: Środa 11:30(IS) Monitorowanie stanu pojazdów Napisz program, w którym mamy możliwość zarządzania kosztami utrzymania posiadanych pojazdów. W programie możemy zdefiniować wiele pojazdów (różnych rodzajów). Każdy z pojazdów ma pola opisujące pojazd (przebieg, rocznik, etc.) oraz poszczególne koszty cykliczne (ubezpieczenie, przegląd) oraz koszty utrzymania (tankowanie, myjnia, etc.). Program ma za zadanie informować nas o konieczności wykonania ponownego przeglądu technicznego lub wykupienia ubezpieczenia jeśli termin poprzedniego zbliża się do końca (podgląd daty zakończenia oraz ilości dni). Dane powinny być przechowywane w pliku lub bazie danych.
Zadanie 10 :: Środa 15:00 (IS) System obsługi testów Napisz program, który umożliwi zbudowanie testu złożonego pytań z różnych dziedzin wiedzy (pogrupowanych po klasach trudności). Program ma mieć możliwość zbudowania testu z nowozdefiniowanych pytań oraz z pytań umieszczonych w bazie danych (plik, baza danych). W programie użytkownik ma możliwość ćwiczenia (test bez punktów) oraz gry rankingowej (historia użytkownika, ranga i zdobyte punkty są przechowywane). Program ma też umożliwić wygenerowania rankingu najlepszych użytkowników (możliwość przeglądania wyników względem znaczników czasowych: dziś, w tym tygodniu, w tym miesiącu, etc.).
Zadanie 11 :: Piątek 8:00 (IS) Zagadka Einsteina Napisz program, w którym zaimplementowana będzie klasa człowiek oraz domek. Przy pomocy dowolnej metody rozwiąż problem. Zmierz czas wykonywanych obliczeń. Program umożliwia rozwiązanie zagadki użytkownikowi. Czas per użytkownik przechowuj w pliku w postaci listy rankingowej.
1.Norweg zamieszkuje pierwszy dom (licząc od lewej). 2.Anglik mieszka w czerwonym domu. 3.Zielony dom znajduje się po lewej stronie domu białego. 4.Duńczyk pija herbatę. 5.Zjadacz jabłek mieszka obok hodowcy kotów. 6.Mieszkaniec żółtego domu zjada śliwki. 7.Niemiec zjada pomarańcze. 8.Mieszkaniec środkowego domu pija mleko. 9.Zjadacz jabłek ma sąsiada, który pija wodę. 10.Zjadacz bananów hoduje ptaki. 11.Szwed hoduje psy. 12.Norweg mieszka obok niebieskiego domu. 13.Hodowca koni mieszka obok żółtego domu. 14.Zjadacz gruszek pija piwo. 15.W zielonym domu pija się kawę.
Zadanie 12 :: Piątek 13:15 (IS) Zarządzanie firmą Napisz projekt, który będzie wspomagać księgowość firmy. W projekcie mamy mieć wyszczególnionych pracowników z podziałem na działy i stanowiska, ich zarobki, urlopy i wymiar pracy (wypłata = stawka / wymiar pracy). Program ma możliwość monitorowania dochodów firmy oraz koszty utrzymania firmy (płace, opłata za wynajem lokalu/biura, sprzęt etc.). Dane płacowe oraz informacja o strukturze firmy może być przechowywana w plikach lub bazie danych.