#include #include #include int cmd=0, waslast=0; struct eintrag { // Deklaration eines Listenelements char wort[20]; struct eintrag *next; }; typedef struct eintrag element; struct eintrag *liste; //Zeiger auf den Anfang der Liste void erstellen (element* ptr) { printf ("Wort eingeben ('ENDE' fuer Ende der Liste): "); scanf("%s", ptr->wort); if (strcmp(ptr->wort,"ENDE")==0) ptr->next=NULL; else { ptr->next = (element*) malloc(sizeof(element)); erstellen (ptr->next); } return; } void anzeigen (element* ptr){ if (ptr->next != NULL) { printf ("%s\n",ptr->wort); anzeigen (ptr->next); } return; } void createlist (void) { liste = (element*)malloc(sizeof(element)); erstellen(liste); } void addentry (element* ptr) { if (ptr->next != NULL) { addentry (ptr->next); } else { ptr->next = (element*) malloc(sizeof(element)); erstellen (ptr->next); } return; } int main(int argc, char* argv[]) { do { printf ("Bitte waehlen Sie:\n1 - Liste erstellen\n2 - Element hinzufuegen\n3 - Element löschen\n4 - Liste anzeigen\n5 - Programm beenden\nAuswahl:"); scanf("%d",&cmd); if (cmd == 1) { createlist(); } if (cmd == 2) { addentry(liste); } // if (cmd == 3) { delentry(); } if (cmd == 4) { anzeigen(liste); } } while (cmd!=5); return 0; }