thomas: C komme nicht weiter....

Beitrag lesen

Guten Morgen zusammen, ich habe ein Problem, ein ziemlich simples, aber ich komme nicht weiter und zwar hätte ich gerne, dass des Programm das Menü erneut aufruft, nachdem ich den Menü Punkt '2' gewählt habe und keinen weiteren Knoten erstellen möchte. Was muss ich da in den else Zweig schreiben? Vielen Dank im voraus:

#include <stdio.h>
#include <stdlib.h>
#include <stdafx.h>

struct daten{
 char name[20];
 char vname[20];
 int alter;
};
struct Knoten {
 int zahl;
 struct daten x;
 struct Knoten *next;
};

int main()
{
 char j, b;
 int menue=0, i=0, gesucht;
 struct Knoten *anfang=0, *ptr, *ende, *p0, *p1, zzahl;

printf("\t- - - M A I N   M E N U  - - -\n\n\n\tWas moechten sie tun?\n\n");
 printf("\t[1] Knoten anfuegen \n\t[2] Knoten ausketten\n\t[3] Knoten suchen\n\t[4] Ende\n\n\n\t\t");
 printf("Ihre Wahl: ");
 fflush(stdin);
 scanf("%i" ,&menue);

if (menue == 1)
 {

while (1)
  {
   printf("\tNeuer Knoten?j/n: ");
   fflush(stdin);
   j=getchar();

if(j == 'j')
   {
    ptr= (struct Knoten*) malloc (sizeof (struct Knoten));

if (!anfang)
    {
     anfang = ende = ptr;
    }

else
    {
     ende -> next = ptr;
     ende  = ptr;
    }

printf("Zahl eingeben: ");
    fflush (stdin);
    scanf("%d", &zzahl.zahl);

++i;
    ende -> next = 0;
   }

else
   {
    printf ("\tSie haben %i Knoten erstellt\n\n\n",i);

}
  }
 }

else if (menue == 2)
 {
  while(1)
  {
   printf("Knoten ausketten?j/n: ");
   fflush (stdin);
   b=getchar();

if ( b == 'j')
   {
    if(i>0)
    {
     if (anfang)
     {
      ptr=anfang;
      anfang = anfang -> next;
     }

printf("Knoten wurde erfolgreich entfernt.\n\n\n");
     --i;
    }

else
    {
     printf("Kein Knoten vorhanden, der entfernt werden kann.\n");
    }

}
  }
 }

else if (menue == 3)
 {

anfang=p0=0;

ende -> next = ptr;
  ende  = ptr;

printf("Welche Zahl möchten sie suchen?");
  fflush(stdin);
  scanf("%i", &gesucht);

if(!anfang)exit (2);

while (p1 && gesucht != p1 ->zahl)
  {
   p0 =p1;
   p1=p1->next;
  }
 }

else if (menue == 4)
 {
  return 0;
 }

}