Hilfe zu einem Programm

  • Hallo Leute habe ein Programm geschrieben mit ner Verketteten Liste jedenfalls wollte ich meine funktion del_item prüfen aber jedesmal gschmeisst er mich raus und beim debugger gibt er mir nichts an bitte hilfe

    achso wenn die Liste Leer ist dann gibt er mir **** s. u.
    #include <stdio.h> // Bibliothek fuer printf, scanf, ...
    #include <conio.h> // Bibliothek fuer getch, gets, ...
    #include <string.h> // strcmp ist enthalten
    #include <stdlib.h> // malloc ist dieser Bibliothek enthalten


    //struct
    struct eintrag{
    char wort[20];
    struct eintrag *next;
    } ;

    typedef struct eintrag element ; // vor definiert damit kann ich nur Element schreiben
    struct eintrag *liste ; // kann man auch so schreiben element *liste


    void anzeigen (element* ptr){

    if (ptr->next != NULL) {
    printf ("%s\n",ptr->wort);
    anzeigen (ptr->next);
    }
    return;
    }


    void erstellen (element* ptr){

    printf ("Bitte geben Sie das Wort ein ('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;

    }


    element *delpointer;


    int del_item(element* ptr,char* item){

    delpointer=ptr->next; ***** hier ein DEbug keine Ahnung wieso

    if(ptr->next==NULL)

    {

    return 0;

    }

    if(strcmp(ptr->wort,item)==0)

    {

    liste=ptr->next;

    free(ptr);

    return 1;

    }

    else if(strcmp(delpointer->wort,item)==0)

    {

    ptr->next=delpointer->next;

    free(delpointer);

    return 1;

    }

    else

    {

    del_item(ptr->next,item);

    }

    }


    void main(){


    int eingabe;

    for(eingabe; eingabe !=4;){
    //menu
    printf("\nBitte waehlen Sie:\n1 - Liste erstellen\n2 - Element hinzufuegen\n");
    printf("3 - Element loeschen\n4 - Programm beenden\nAuswahl: ");
    scanf("%i",&eingabe);

    if(eingabe == 1){

    liste = (element*)malloc(sizeof(element));
    erstellen(liste);

    }

    if(eingabe==2){


    }

    if(eingabe==3) {

    char* item;

    printf("\nBitte geben Sie das zu löschende Element ein: ");
    scanf("%s",&item);
    del_item(liste,item);

    }

    if(eingabe==4) {


    }


    }


    bitte um Hilfe bin am verzweifeln!!!!!!

    Danke
    }

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!