#include"JWI_Klassen_Liste.cpp" class Produkt { // Attribute int pnr; // interne Produktnummer char* bez; // Bezeichnung des Produktes int lnr; // Lieferantennummer int min_best; // minimaler geforderter Lagerbestand int max_best; // maximal möglicher Lagerbestand int akt_best; // aktueller Lagerbestand int vormerkung; // kummulierte Menge der Vormerkungen von Bestellposten, // die nicht lieferbar waren //Operationen public: // Konstruktor Produkt(int produktnr=0, char* bezeichnung="", int lieferantennr=0, int minbestand=0, int maxbestand=0, int aktuellerbestand=0, int vorm=0) : pnr(produktnr), bez(bezeichnung), lnr(lieferantennr), min_best(minbestand), max_best(maxbestand), akt_best(aktuellerbestand), vormerkung(vorm) {} // Destructor ~Produkt(void) {} // Daten ändern void DatenAendern(void); // Daten abfragen int HoleProduktNr(void); char* HoleBezeichnung(void); int HoleLieferantenNr(void); int HoleMinBestand(void); int HoleMaxBestand(void); int HoleAktuellenBestand(void); int HoleVormerkungen(void); // Produktdaten zu erzeugtem Objekt neu eingeben void Neu(int produktnr); // Verändern des aktuellen Bestandes um den Wert aenderung // wenn aenderung > 0 wird der aktuelle Bestand erhöht; für aenderung < 0 verringert void AktuellenBestandKorregieren(int aenderung); // wird eine bestimmte Menge dieses Produktes für eine Bestellung benötigt, die nicht // mehr auf dem Lager ist, d.h. aktueller Bestand - Bestellung < 0, so wird diese Menge // für die nächste Bestllung Vorgemerkt // aenderung>0 bezeichnet die Erhöhung der Vormerk-Menge; aenderung<0: nicht zugelassen void Vormerken(int aenderung); // ermittelt die aktuell nachzubestellende Menge int BestellmengeErmitteln(void); }; // von der Klasse Liste werden weitere Klasse abgeleitet, die als Karteien bezeichtnet werden // diese Beszeichnung soll andeuten, daß diese Klasse durch Operationen erweitert werden // können, die diese Liste ggf. auf einem externen Datenträger anlegen: class ProduktKartei: public Liste{};