rudelcu
19-09-2008, 15:34
Chi mi aiuta con questo esercizio?
Progettare una libreria per il software di gestione di un magazzino di un supermercato con le seguenti classi:
fornitore (contenente almeno nominativo, num di telefono, num di fax, partita iva, numero di conto corrente, codice fornitore)
articolo (contenente almeno descrizione, un campo che preveda fino a 4 fornitori, ad esempio attraverso i codici, prezzo di costo, aliquota iva, prezzo di vendita -pari al prezzo di costo ivato e maggiorato del 40%-, codice articolo)
Il progetto di massima che si richiede comporta la definizione dei membri dato delle classi suddette, e di altre classi che si ritiene opportuno definire (le classi fornitore e articolo possono ereditare o contenere come membri oggetti di altre classi).
Alcuni membri di tali classi siano dei puntatori.
Si prevedano costruttori e distruttori, laddove sia necessario.
Si preveda un overloading degli operatori >> e << per inserire ed estrarre oggetti di tali classi e una funzione get_dato e put_dato per visualizzare o modificare alcuni membri di un oggetto di tali classi.
Si definisca inoltre un dato strutturato ArticoloConQuantita che indichi un articolo ed un relativo quantitativo disponibile. Tale dato sia usato per creare una classe magazzino (contenente, tra gli altri, almeno un array di un certo quantitativo Q di elementi ArticoloConQuantita e altri membri che si ritengono necessari per l'utilizzo). Si faccia in modo che il quantitativo Q sia in qualche modo variabile, ad esempio creando magazzino come una classe template che abbia Q come parametro.
Su oggetti di tale classe si deve operare con l'operatore + per inserire un dato di tipo ArticoloConQuantita strutturato che indichi un articolo ed un relativo quantitativo. Nel caso in magazzino esista già l'articolo, tale operatore deve incrementare la disponibilità con la nuova quantità in ingresso, altrimenti deve creare un nuovo elemento nell'array. Nel caso l'array sia pieno, produca invece un messaggio di errore. Si crei anche una funzione vendita che dato una certoquantitativo ed un certo materiale detragga dal magazzino il materiale nel quantitativo indicato (o segnali la non disponibilità di detto articolo, non trovandone uno con lo stesso codice). Se l'uso della funzione vendita porta a zero una quantità di un certo articolo, si renda libera la locazione dell'array impegnata fino a quel momento dal tale articolo.
Scrivere un main in cui venga in primis creato un magazzino, inserendo dati, modificandoli (ad esempio inserendo più volte ArticoloConQuantita per lo stesso tipo di qarticoli) e salvandoli su file. Successivamente si apra il file di archivio e si metta su video il suo contenuto, verificando che l'output sia coerente con quanto inserito.
Questo è lo schema da cui dovrei partire per il codice(è fatto da me x cui sarà sicuramente errato:D):
Classe Fornitore:
-Membri privati:
--Nominativo (char[])
--Telefono(char[20])
--Fax(char[20])
--P.Iva(char[])
--C.C.(char[])
--Cod.Fornitore(int?)
-Pubblici:
--costruttore(come inizializzo le variabili?)
--Distruttore()
--get-fornitore(visualizza il fornitore(?))
--put-fornitore(scrivi il fornitore(?))
--overloading di >> e >>??????
(poi nn so ke altro mettere)
Classe Articoloderivata da fornitore(?))
-Privati
--Descrizione(non so come fare a prevedere 4 fornitori attraverso i codici)
--Prezzo di costo (int)
--Aliquota Iva (int)
--Codice articolo(int?)
-Pubblici:
--Costruttore(?)
--Distruttore(?)
--Prezzo di vendita[(P.costo+iva)*1,4]
Poi le altre funzioni non ho idea dove metterle e cioè:
ArticoloConQuantità
magazzino(classe)
operatore +
vendita
Che ne dite?ho interpretato bene il tema?
Scusate la mia ignoranza...avete da darmi qualche consiglio?
grazie in anticipo
Progettare una libreria per il software di gestione di un magazzino di un supermercato con le seguenti classi:
fornitore (contenente almeno nominativo, num di telefono, num di fax, partita iva, numero di conto corrente, codice fornitore)
articolo (contenente almeno descrizione, un campo che preveda fino a 4 fornitori, ad esempio attraverso i codici, prezzo di costo, aliquota iva, prezzo di vendita -pari al prezzo di costo ivato e maggiorato del 40%-, codice articolo)
Il progetto di massima che si richiede comporta la definizione dei membri dato delle classi suddette, e di altre classi che si ritiene opportuno definire (le classi fornitore e articolo possono ereditare o contenere come membri oggetti di altre classi).
Alcuni membri di tali classi siano dei puntatori.
Si prevedano costruttori e distruttori, laddove sia necessario.
Si preveda un overloading degli operatori >> e << per inserire ed estrarre oggetti di tali classi e una funzione get_dato e put_dato per visualizzare o modificare alcuni membri di un oggetto di tali classi.
Si definisca inoltre un dato strutturato ArticoloConQuantita che indichi un articolo ed un relativo quantitativo disponibile. Tale dato sia usato per creare una classe magazzino (contenente, tra gli altri, almeno un array di un certo quantitativo Q di elementi ArticoloConQuantita e altri membri che si ritengono necessari per l'utilizzo). Si faccia in modo che il quantitativo Q sia in qualche modo variabile, ad esempio creando magazzino come una classe template che abbia Q come parametro.
Su oggetti di tale classe si deve operare con l'operatore + per inserire un dato di tipo ArticoloConQuantita strutturato che indichi un articolo ed un relativo quantitativo. Nel caso in magazzino esista già l'articolo, tale operatore deve incrementare la disponibilità con la nuova quantità in ingresso, altrimenti deve creare un nuovo elemento nell'array. Nel caso l'array sia pieno, produca invece un messaggio di errore. Si crei anche una funzione vendita che dato una certoquantitativo ed un certo materiale detragga dal magazzino il materiale nel quantitativo indicato (o segnali la non disponibilità di detto articolo, non trovandone uno con lo stesso codice). Se l'uso della funzione vendita porta a zero una quantità di un certo articolo, si renda libera la locazione dell'array impegnata fino a quel momento dal tale articolo.
Scrivere un main in cui venga in primis creato un magazzino, inserendo dati, modificandoli (ad esempio inserendo più volte ArticoloConQuantita per lo stesso tipo di qarticoli) e salvandoli su file. Successivamente si apra il file di archivio e si metta su video il suo contenuto, verificando che l'output sia coerente con quanto inserito.
Questo è lo schema da cui dovrei partire per il codice(è fatto da me x cui sarà sicuramente errato:D):
Classe Fornitore:
-Membri privati:
--Nominativo (char[])
--Telefono(char[20])
--Fax(char[20])
--P.Iva(char[])
--C.C.(char[])
--Cod.Fornitore(int?)
-Pubblici:
--costruttore(come inizializzo le variabili?)
--Distruttore()
--get-fornitore(visualizza il fornitore(?))
--put-fornitore(scrivi il fornitore(?))
--overloading di >> e >>??????
(poi nn so ke altro mettere)
Classe Articoloderivata da fornitore(?))
-Privati
--Descrizione(non so come fare a prevedere 4 fornitori attraverso i codici)
--Prezzo di costo (int)
--Aliquota Iva (int)
--Codice articolo(int?)
-Pubblici:
--Costruttore(?)
--Distruttore(?)
--Prezzo di vendita[(P.costo+iva)*1,4]
Poi le altre funzioni non ho idea dove metterle e cioè:
ArticoloConQuantità
magazzino(classe)
operatore +
vendita
Che ne dite?ho interpretato bene il tema?
Scusate la mia ignoranza...avete da darmi qualche consiglio?
grazie in anticipo