000
10.06.2006, 22:38 Uhr
Frido
|
Möchte eine verkette Liste erweitern und zwar soll das erste Element der Liste Namen enthalten von einer Person und alle Nachfolgenden Elemente soll andere Werte stehen. Hab zwar schon was gemacht klappt aber nicht.
Das sind die struct habe ich die so richtig gewählt für von vorhaben.
Code: |
ypedef struct Person { //Struktur wird definiert char name[21]; char vorname[21]; char Matrikelnr[21]; struct Person *next; struct Pruefung *Pruefungen; } Person_t;
typedef struct Pruefung{ char Fach[21]; char Prof[21]; char Datum1[2]; char Datum2[2]; char Datum3[4]; char Punkte[21]; int Position_Pruefung; struct Pruefung *next; }Pruefung_t;
|
Und hier ist meine Eingabe routine , aber nur für eine normale Kette.
Code: |
void Student_einfuegen (Person_t Person, Pruefung_t Pruefung){
Person_t *pLL , *pLL_vorher;
if (start == NULL){
start = (Person_t * ) malloc ( sizeof(Person_t) );
strcpy(start->name, Person.name); strcpy(start->vorname, Person.vorname); strcpy(start->Matrikelnr, Person.Matrikelnr);
start->next = NULL; } else{ pLL = start;
while ( pLL != NULL) pLL = pLL->next;
if (pLL == start){
start = (Person_t*) malloc ( sizeof(Person_t) ); strcpy(start->name, Person.name); strcpy(start->vorname, Person.vorname); strcpy(start->Matrikelnr, Person.Matrikelnr);
start->next = pLL; } else{ pLL_vorher = start;
while ( pLL_vorher->next != pLL ) pLL_vorher = pLL_vorher->next;
pLL = (Person_t*) malloc ( sizeof(Person_t) );
strcpy(pLL->name, Person.name); strcpy(pLL->vorname, Person.vorname); strcpy(pLL->Matrikelnr, Person.Matrikelnr);
pLL->next = pLL_vorher->next; pLL_vorher->next = pLL; } } }
|
Hab schon einiges Probiert hat aber immer dazu gefürht das das Programm sofort beendet wurde. Kann mir da jemand helfen??
mfg -- http://spielwelt14.monstersgame.net/?ac=vid&vid=28103555 |