Program Biblioteka/Problem

0

Witam, pilnie potrzebuję pomocy w napisaniu programu(jakieś wskazówki jak to zrobić np. w punktach co po kolei trzeba ) :

Z góry dziękuję za jakąkolwiek pomoc.

1 Podstawowe założenia
Napisać program (fragment systemu) do obsługi biblioteki. Program powinien umoż-
liwić przechowywanie i zarządzanie danymi o książkach należących do biblioteki, w tym
również informacjami o wypożyczeniach książek.
Dane o książce przechowywane powinny być w klasie Ksiazka. Klasa ta powinna zawierać
następujące składowe (w ostatnim nawiasie przy każdym polu podano typ danych
dla pola):
• id – unikalny identyfikator egzemplarza książki (int);
• tytul – tytuł książki, nie może być pusty (String);
• nazwiskoAutora – nie może być puste (String);
• imionaAutora – imiona autora oddzielone znakiem spacji (String);
• rok – rok wydania książki (int, zakres [1700, . . . , 2012]);
• kategorie – lista kategorii tematycznych, do których przynależy książka, np. ”powieść
historyczna;dramat;literatura piękna”. Kategorie powinny być oddzielone średnikami.
Każda książka powinna należeć do co najmniej jednej kategorii (String);
• czyWypozyczona – określa, czy książka jest obecnie wypożyczona: true – tak, false
– nie (boolean);
• liczbaWypozyczen – zlicza ile razy książka została wypożyczona i zwrócona (!) do
biblioteki (int).
Listą książek należących do biblioteki zarządzać powinna klasa Biblioteka zawierająca
następujące składowe:
• ksiazki – tablica obiektów typu Ksiazka reprezentujących książki w bibliotece. Moż-
na założyć, że maksymalna liczba książek w bibliotece nie przekroczy 1000 sztuk;
• ileKsiazek – ile książek jest obecnie w bibliotece (int).

1.1 Funkcjonalność programu
Funkcje programu powinny obejmować:

  1. Wyświetlanie listy książek w formacie skróconym składającym się z identyfikatora,
    tytułu, inicjałów autora i jego nazwiska oraz informacji, czy książka jest obecnie
    wypożyczona (tak/nie), np.:
    123 H.A. Sienkiewicz ,,W pustyni i w puszczy’’ tak
  2. Wyświetlanie listy książek w formacie pełnym zawierającym wszystkie dane o książ-
    kach ;
  3. Dodawanie książek do biblioteki – użytkownik proszony jest o podanie tytułu, imion
    i nazwiska autora, roku wydania oraz kategorii tematycznych, do których należy
    książka, pozostałe pola ustalane są automatycznie;
  4. Edycja danych o książce (na wypadek błędów w opisie) – możliwość zmiany warto-
    ści wybranej przez użytkownika składowej opisu spośród: imion i nazwiska autora,
    tytułu książki, roku wydania oraz kategorii tematycznych. Książka do edycji wybierana
    jest na podstawie podanego identyfikatora. Przed rozpoczęciem edycji powinny
    zostać wyświetlone informacje o edytowanej książce.
  5. Wypożyczanie książek – po podaniu identyfikatora książka zostaje oznaczona jako
    wypożyczona;
  6. Zwrot książki – po podaniu identyfikator książka zostaje oznaczona jako oddana
    (licznik wypożyczeń powinien zostać uaktualniony);
  7. Wyszukiwanie książek na podstawie wybranego kryterium:
    • nazwiska autora,
    • tytułu,
    • kategorii tematycznej.
    Dla dwóch pierwszych wyszukiwanie powinno uwzględniać częściowe dopasowanie,
    gdy użytkownik poda jedynie fragment nazwiska autora lub tytułu. Dopasowanie
    po kategorii powinno być dokładne.
  8. Funkcje dodatkowe z osobnym podmenu:
    (a) Wyświetlanie liczby wszystkich książek, liczby obecnie wypożyczonych oraz
    całkowitej liczby wypożyczeń.
    (b) Wyświetlanie 5 najczęściej wypożyczanych egzemplarzy książek w formacie
    skróconym (tylko, gdy liczba wypożyczeń > 0). Jeżeli więcej niż 5 egzemplarzy
    ma tę samą liczbę wypożyczeń, to również powinny zostać wyświetlone.
    (c) *Wyświetlanie 5 najbardziej poczytnych książek z każdej kategorii tematycznej
    (tylko, gdy liczba wypożyczeń > 0). Lista ta powinna sumować wypożyczenia
    dla wszystkich egzemplarzy danej pozycji wydawniczej, tj. o tym samym tytule
    oraz o tym samym autorze, ponieważ w bibliotece może znajdować się więcej,
    niż jeden egzemplarz tej samej książki.
    (d) *Wyświetlanie 5 najbardziej poczytnych autorów – liczba wypożyczeń książek
    autora powinna być > 0. Dla każdego autora podać tytuł jego najbardziej
    popularnej książki (kryteria takie jak w poprzednim punkcie).
  9. *Import danych z pliku tekstowego – umożliwia dodanie do biblioteki nowych egzemplarzy
    książek na podstawie opisów (po jednym w wierszu) w pliku tekstowym
    w formacie, jak w przykładzie:
    Henryk Adam, Sienkiewicz; Quo vadis; 1995; powieść historyczna, literatura
    piękna
  10. *Wyświetlanie listy książek posortowanej wg wybranego kryterium spośród: nazwiska
    autora, roku wydania, liczby wypożyczeń, tytułu.
    2Dostęp do poszczególnych funkcji programu powinien być realizowany przez menu
    wyświetlane po uruchomieniu programu oraz po każdorazowym zakończeniu wykonywania
    wybranej wcześniej funkcji.
    Każda z funkcjonalności programu powinna być implementowana przez odrębną metodę
    z klas Ksiazka oraz Biblioteka. Dane przechowywane powinny być w pliku o nazwie
    „biblioteka.dat” odczytywanym automatycznie po uruchomieniu programu. Jeżeli plik z
    danymi nie istnieje, to powinien zostać utworzony automatycznie (pusty). Po każdej modyfikacji
    danych należy je zapisać do wspomnianego pliku, tak aby były widoczne po
    ponownym uruchomieniu programu.
    Wprowadzane przez użytkownika dane powinny być weryfikowane i jeżeli będą błędne,
    to program powinien prosić o ich ponowne podanie.
1

Pierwsze dwa punkty:

  • nauczyć się programowania obiektowego i Javy,
  • zainstalować jakieś IDE.
0

Program Mam NetBeans, a z programowaniem mam styczność od 3 miesiecy, znam jakies podstawowe metody ale nie wiem jak poradzic sobie z tym programem .

0

Wpierw zdecyduj jaki będzie interfejs użytkownika, graficzny czy konsolowy. Ja bym wybrał graficzny. Wyświetlane menu powinno zawierać wszystkie wymagane pozycje.
Potem napisz 0-przybliżenie klas Ksiazka i Biblioteka, tzn. tylko wymagane pola.
Następnie wybieraj (w jakiejś sensownej kolejności) pozycje menu, dla wybranej pozycji pisz kod i sprawdzaj czy działa. Zacznij może od dodawania książki do biblioteki.

0

poczytaj o kolekcjach. w klasie Biblioteka możesz użyć sobie po prostu mapy <Integer,Ksiazka> gdzie kluczem jest id książki

1 użytkowników online, w tym zalogowanych: 0, gości: 1