Ich habe hier in Mein Buch ein Programm der Stück für Stück erweitert werden muss bis zum Ende des Buches bis es ein fähiges Programm geworden ist.
Bin mittlerweile ziemlich weit mit dem Buch bis zum Thema Einfach verkettete Listen und das Programm was sich jetzt noch erweitern soll heißt Lagerverwaltungsprogramm. Das Programm soll ich jetzt mit dynamische Datenstrukturen weiter verbessern
An manchen Zeilen verstehe ich es wirklich nicht, zusätzlich habe ich lange überlegt bin aber nicht drauf gekommen ist aber von ein Anfänger zu erwarten oder ?

Jetzt muss ich ein Element hinzufügen.
Hier ist der Code für das Programm:
Code: Alles auswählen
struct lagerverwaltung
{
long artikelnummer;
char artikelbezeichnung[100];
int anzahl_artikel;
struct lagerverwaltung *next;
};
struct lagerverwaltung *first = NULL;
void read_lagerverwaltung(void)
{
long an;
char at[100];
int aa;
printf("Artikelnummer : ");
scanf("%ld",&an); fflush(stdin);
printf("Artikelbezeichnung : ");
fgets(at, sizeof(at), stdin);
printf("Anzahl d. Artikel : ");
scanf("%d",&aa);
insert_lagerverwaltung(an,at,aa);
}
void insert_lagerverwaltung(long art_nr, char art_tit[], int anz_art) HIER VERSTEHE ICH ES ICH NOCH (ES WERDEN ALLE DATEN EINGELSEN
{
struct lagerverwaltung *lager_ptr;
if(first == NULL)
{
first = (struct lagerverwaltung *) malloc(sizeof(struct lagerverwaltung));
if(first == NULL)
{
printf("Speicherplatzmangel!!!\n");
exit(0); /* Programm beenden */
}
else
{
first->artikelnummer = art_nr;
strcpy(first->artikelbezeichnung, art_tit);
first->anzahl_artikel = anz_art;
first->next = NULL; ICH VERSTEHE DEN SINN DIE ZEILE NICHT
}
}
AB HIER
else
{
lager_ptr=first;
while(lager_ptr->next != NULL)
lager_ptr = lager_ptr->next;
lager_ptr->next=(struct lagerverwaltung *) malloc(sizeof(struct lagerverwaltung));
if(lager_ptr->next == NULL)
{
printf("Speicherplatzmangel!!!\n");
exit(0); /* Programm beenden */
}
else
{
lager_ptr = lager_ptr->next;
lager_ptr->artikelnummer = art_nr;
strcpy(lager_ptr->artikelbezeichnung,
art_tit);
lager_ptr->anzahl_artikel = anz_art; BIS HIER PASSIERT DAS GLEICHE
lager_ptr->next = NULL; UND WIEDER VERSTEHE ICH DEN SINN DIE ZEILE NICHT.
}
}
printf("\nNeuer Artikel hinzugefuegt\n\n");
}

Bitte um Hilfe
Danke im voraus