#include"JWI_Klassen_Verwaltung.h" // ausgelagerte Operationen der Klasse Verwaltung void Verwaltung::LieferscheineErstellen(void) { // Erzeugen der Lieferscheine class Bestellposten bestp; class Lieferschein liefers; class Nachbestellung nachbest; liefer_kartei.SetzeAufAnfang(); // liefert das erste Element der Liste for (int i=1; i <= liefer_kartei.Laenge(); i++) { bestp = liefer_kartei.HoleInhalt(); // holt den aktuellen Bestellposten liefers = SucheLieferscheinBestellungsNr(bestp.HoleBestellungsNr()); // prüfen, ob lieferschein existiert if (liefers.HoleLieferscheinNr() != 0) //Lieferschein existiert { // hängt einen Bestellposten an den Lieferschein an liefers.PostenAnhaengen(bestp); } else { zaeler_lsnr++; // erzeugt einen neuen Lieferschein und weist ihm die notw. Informationen zu class Lieferschein neuerliefers(zaeler_lsnr, 0, nachbest.HoleLieferantenNr(), nachbest.HoleBestellungsNr()); // nimmt den neuen Lieferschein in die Liste der Lieferscheine auf lieferscheine.ElementHinzufuegen(neuerliefers); neuerliefers.PostenAnhaengen(bestp); // hängt den ersten Bestellposten an }; liefer_kartei.NachfolgendesElement(); }; // Zuordnung der Lieferscheinen zu Lieferwagen und anschließendes Ausdrucken lieferscheine.SetzeAufAnfang(); // liefert das erste Element der Liste for (i=1; i <= lieferscheine.Laenge(); i++) { liefers = lieferscheine.HoleInhalt(); // bestimmt die Lieferwagennummer und ordnet diese dem Lieferschein zu liefers.SetzeLieferwagenNr(BestimmeLieferwagenNummer(liefers)); liefers.LieferscheinDrucken(); // druckt den Lieferschein aus lieferscheine.NachfolgendesElement(); // setzt den Listenzeiger ein Element weiter }; }