24/02/07 11:19
ilciolla
edit by netarrow: cambiato il titolo, quello di prima era contro il regolamento
Ciao ragazzi sono nuovo e ho subito un bel problemino da porvi che magari per voi risultera banale....allora questo e un pogetto che devo realizzare:
Realizzare un programma C++ che offra funzioni di base per la gestione di una semplice biblioteca. In particolare si considerino i seguenti tre sottoproblemi:
1. Gestione schedario libri — Funzione di base:
(a) immissione nuovo libro. Per ogni libro vengono registrate le seguenti informazioni:
− cognome e nome del/degli autore/i
− titolo del libro
− casa editrice
− anno di pubblicazione
− codice collocazione (codice unico alfanumerico)
− argomenti (max. 3, di tipo stringa)
(b) ricerca di un libro in base a:
− codice collocazione
− cognome autore
− argomento
Se la ricerca ha esito positivo, viene visualizzata la scheda del libro trovato. Le ricerche relative agli ultimi due punti possono avvenire anche in base ad una sottostringa del cognome o dell'argomento da ricercare.
(a) cancellazione o modifica libro (individuato in base a codice collocazione). È possibile modificare soltanto le informazioni relative agli argomenti. La cancellazione di un libro non è possibile se il libro si trova in prestito.
2. Gestione schedario utenti — Funzione di base:
(a) immissione nuovo utente. Per ogni utente vengono registrate le seguenti informazioni:
− cognome e nome dell'utente
− categoria di utente (ad esempio, normale, speciale, …)
− recapito
− codice utente (codice unico numerico)
− indirizzo e-mail
(b) ricerca di un utente in base a:
− codice utente
− cognome
Se la ricerca ha esito positivo, viene visualizzata la scheda dell'utente trovato. Le ricerche relative all'ultimo punto possono avvenire anche in base ad una sottostringa del cognome da ricercare.
(c) cancellazione utente (individuato in base a codice utente). La cancellazione di un utente è possibile soltanto se l'utente non ha più libri in prestito.
3. Gestione prestiti — Funzione di base:
(a) prestito. Per ogni prestito effettuato vengono registrate le seguenti informazioni:
− utente (codice utente)
− libro (codice collocazione)
− data prestito
Nel caso in cui si digiti il carattere '?' al posto del codice collocazione o del codice utente viene attivato, rispettivamente, il menù di ricerca libro (punto 1.b) o di ricerca utente (punto 2.b).
(b) restituzione (= cancellazione prestito): libro e utente individuati in base a codice collocazione e codice utente.
(c) ricerche:
− libro in prestito? (dato codice libro, se il libro è in prestito determina codice utente e data del prestito; altrimenti comunica "libro disponibile"
− prestiti attivi per un utente? (dato codice utente, determina codice libro e data prestito di tutti i libri in prestito all'utente)
− prestiti scaduti (determina codice libro e codice utente relativi a prestiti che hanno superato il limite max. (di norma, 1 mese; eventualmente variabile in base al tipo di utente)).
Tutti i dati relativi a libri, utenti e prestiti vengono memorizzati su file. Il programma provvede a caricare i dati da file in memoria principale e viceversa su esplicita richiesta dell'operatore. L'interazione con l'operatore avviene tramite menù a più livelli. Il sistema provvede anche ad effettuare controlli di base sulla correttezza dei dati immessi (ad esempio, validità codici, validità delle date, ecc.). Nelle funzioni di ricerca qualora vengano individuati più oggetti soddisfacenti i criteri di ricerca, vengono mostrate, una alla volta, le schede di tutti gli oggetti individuati.
Vincoli di implementazione (obbligatori). Realizzare i tipi di dato libro e utente come classi. In particolare, definire utente come classe derivata dalla classe persona. Realizzare anche la nozione di data_del_giorno come classe. Realizzare la gestione di situazioni anomale tramite i meccanismi di gestione eccezioni del C++.
allora io ho creato la classe utente che deriva dalla classe persona e i suoi relativi metodi, la classe libro e i suoi relativi metodi, ho creato due array di oggetti delle classi (es: elenco_utenti [1000]) dove inserisco gli utenti e un altro per i libri.
ora le mie domande sono:
1)come posso salvare l intero array all interno di un file , e poi come faccio per poterlo caricare ad ogni apertura del programma?
2)come facccio a gestire i prestiti ( ho pensato di fare una classe a parte con tre campi : cod_utente cod_liro e data)
ma proprio non so come fare per la data per inserirla e sapere cosi se i presiti sono scaduti..
vi prego rispondete e di vitale importanza vi ringrazio tutti
Ciao ragazzi sono nuovo e ho subito un bel problemino da porvi che magari per voi risultera banale....allora questo e un pogetto che devo realizzare:
Realizzare un programma C++ che offra funzioni di base per la gestione di una semplice biblioteca. In particolare si considerino i seguenti tre sottoproblemi:
1. Gestione schedario libri — Funzione di base:
(a) immissione nuovo libro. Per ogni libro vengono registrate le seguenti informazioni:
− cognome e nome del/degli autore/i
− titolo del libro
− casa editrice
− anno di pubblicazione
− codice collocazione (codice unico alfanumerico)
− argomenti (max. 3, di tipo stringa)
(b) ricerca di un libro in base a:
− codice collocazione
− cognome autore
− argomento
Se la ricerca ha esito positivo, viene visualizzata la scheda del libro trovato. Le ricerche relative agli ultimi due punti possono avvenire anche in base ad una sottostringa del cognome o dell'argomento da ricercare.
(a) cancellazione o modifica libro (individuato in base a codice collocazione). È possibile modificare soltanto le informazioni relative agli argomenti. La cancellazione di un libro non è possibile se il libro si trova in prestito.
2. Gestione schedario utenti — Funzione di base:
(a) immissione nuovo utente. Per ogni utente vengono registrate le seguenti informazioni:
− cognome e nome dell'utente
− categoria di utente (ad esempio, normale, speciale, …)
− recapito
− codice utente (codice unico numerico)
− indirizzo e-mail
(b) ricerca di un utente in base a:
− codice utente
− cognome
Se la ricerca ha esito positivo, viene visualizzata la scheda dell'utente trovato. Le ricerche relative all'ultimo punto possono avvenire anche in base ad una sottostringa del cognome da ricercare.
(c) cancellazione utente (individuato in base a codice utente). La cancellazione di un utente è possibile soltanto se l'utente non ha più libri in prestito.
3. Gestione prestiti — Funzione di base:
(a) prestito. Per ogni prestito effettuato vengono registrate le seguenti informazioni:
− utente (codice utente)
− libro (codice collocazione)
− data prestito
Nel caso in cui si digiti il carattere '?' al posto del codice collocazione o del codice utente viene attivato, rispettivamente, il menù di ricerca libro (punto 1.b) o di ricerca utente (punto 2.b).
(b) restituzione (= cancellazione prestito): libro e utente individuati in base a codice collocazione e codice utente.
(c) ricerche:
− libro in prestito? (dato codice libro, se il libro è in prestito determina codice utente e data del prestito; altrimenti comunica "libro disponibile"
− prestiti attivi per un utente? (dato codice utente, determina codice libro e data prestito di tutti i libri in prestito all'utente)
− prestiti scaduti (determina codice libro e codice utente relativi a prestiti che hanno superato il limite max. (di norma, 1 mese; eventualmente variabile in base al tipo di utente)).
Tutti i dati relativi a libri, utenti e prestiti vengono memorizzati su file. Il programma provvede a caricare i dati da file in memoria principale e viceversa su esplicita richiesta dell'operatore. L'interazione con l'operatore avviene tramite menù a più livelli. Il sistema provvede anche ad effettuare controlli di base sulla correttezza dei dati immessi (ad esempio, validità codici, validità delle date, ecc.). Nelle funzioni di ricerca qualora vengano individuati più oggetti soddisfacenti i criteri di ricerca, vengono mostrate, una alla volta, le schede di tutti gli oggetti individuati.
Vincoli di implementazione (obbligatori). Realizzare i tipi di dato libro e utente come classi. In particolare, definire utente come classe derivata dalla classe persona. Realizzare anche la nozione di data_del_giorno come classe. Realizzare la gestione di situazioni anomale tramite i meccanismi di gestione eccezioni del C++.
allora io ho creato la classe utente che deriva dalla classe persona e i suoi relativi metodi, la classe libro e i suoi relativi metodi, ho creato due array di oggetti delle classi (es: elenco_utenti [1000]) dove inserisco gli utenti e un altro per i libri.
ora le mie domande sono:
1)come posso salvare l intero array all interno di un file , e poi come faccio per poterlo caricare ad ogni apertura del programma?
2)come facccio a gestire i prestiti ( ho pensato di fare una classe a parte con tre campi : cod_utente cod_liro e data)
ma proprio non so come fare per la data per inserirla e sapere cosi se i presiti sono scaduti..
vi prego rispondete e di vitale importanza vi ringrazio tutti
Ultima modifica effettuata da netarrow 25/02/07 13:01
aaa