Biblioteca
Realizzare un sistema per la gestione di una biblioteca. Si parta dal progetto Eclipse già pronto: Biblioteca.zip
Si usino come punto di partenza le classi Libro, Biblioteca e GestioneBiblio presenti nel
package biblio.
Il sistema deve soddisfare i seguenti requisiti.
R1: Dati del Libro
Quando si deve creare un oggetto Libro
si forniscono le informazioni
relative al libro: il titolo e l’autore.
Le due informazioni sono reperibile tramite metodi getter.
La rappresentazione stringa di un libro, ottenuta tramite il metodo toString(), è costituita da
autore e titolo separati da una virgola e uno spazio (", ")
R2: Inserimento libro nella biblioteca
Il contenitore di libri sui cui eseguire tutte le operazionei è Biblioteca.
Deve essere possibile inserire un libro in una determinata posizione
della biblioteca.
La biblioteca è organizzata in piani, ce ne sono 3. Ogni piano
contiene 30 scaffali. Ogni scaffale è composto da 6 ripiani ed
è caratterizzato da un codice alfanumerico del tipo SC1. Ogni ripiano contiene fino a
10 libri.
E' possibilie verificare se un ripiano (di un dato scaffale, ad un
certo piano) contiene un libro con il metodo contiente() che ha come
parametri: il piano, lo scaffale e il ripiano.
R3: Stampa contenuto scaffale
Dato il nome di uno scaffale (all'interno di un dato piano) deve essere
possibile
elencarei libri contenuti, suddivisi per ripiani.
L'elenco viene restituito sotto forma di stringa dal metodo getLibri() che ha come
parametri il piano e lo scaffale.
Per ogni ripiano nella stringa compare l'indicazione del ripiano nella
forma "Ripiano 1" seguito,
nelle righe successive dai libri contenuti nel ripiano.
R4: Stampa posizione libro
Dato un libro deve essere possibile risalire alla sua collocazione. In
particolare è possibile sapere il piano, scaffale e ripiano,
rispettivamente tramite i metodi getPiano(),
getScaffale() e getRipiano() della classe Libro.
R5: Ricerca di un libro
Deve essere possibile riercare un libro all'interno della biblioteca
specificando autore e titolo. Il metodo per eseguire cio è cerca().
R6: Interfaccia utente
L'intefaccia utente deve essere implementata dalla classe
GestioneBiblio,
che deve essere costruita passando due parametri: un
oggetto Console tramite
il quale viene eseguito tutto l'I/O e un
oggetto Biblioteca che
è destinato a contenere i dati.
Per avviare l'interfaccia utente si usi il metodo start().
Il sistema deve visualizzare un prompt della forma ">" ed accettare
i seguenti comandi che devono eseguire le relative operazioni
sull'oggetto Biblioteca:
- Comando "add": inserimento libro, seguito dai parametri autore,
titolo, piano, scaffale e ripiano.
- Comando "list": stampa contenuto scaffale, seguito dai parametri
piano e scaffale.
- Comando "libro": ricerca un libro e stampa la posizione: seguito
dai parametri autore e titolo.
- Comando "quit": termina l'esecuzione dell'interfaccia (tramite
return, NON usando exit()).
I parametri vengono richiesti uno per volta dall'intefaccia utente dopo
che è stato inserito il comando.