All pastes #209939 Raw Edit

Untitled

public text v1 · immutable
#209939 ·published 2006-10-19 12:46 UTC
rendered paste body
/* Doppelt verkettete Liste
Daniel Pischl
*/

#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

typedef struct Liste { char sZeile[80];
		       struct Liste *pnachher, *pvorher;
                     } LISTE, *LISTENZEIGER;

void main()
{ int iNummer=0;
  struct Liste *pStamm, *pEnde, *pEingabe, *pHilf;
  clrscr();
  pStamm=(LISTENZEIGER) malloc(sizeof(struct Liste));
  pEingabe=pStamm;
  do { iNummer++;
       printf("%2i.te Zeile: ",iNummer);
       gets(pEingabe->sZeile);
       if (strcmp(pEingabe->sZeile,"")!=0)
          { pEingabe->pvorher=pEingabe->pnachher; pHilf=(LISTENZEIGER) malloc(sizeof(struct Liste));
            pEingabe->pnachher=pHilf; strcpy(pHilf->sZeile,"+"); pEingabe=pHilf; }
       else { pEnde=(LISTENZEIGER) malloc(sizeof(struct Liste));
              pEingabe->pnachher=pEnde;
            }
    } while (strcmp(pEingabe->sZeile,"")!=0);
  printf("\nbreak\n");
  getch();
  printf("Ausgabe von der Listen (Start bei 1) bis %i\n",iNummer-1);
  iNummer=1;
  pEingabe=pStamm;
  while (pEingabe->pnachher!=pEnde) { printf("%2i.te Zeile: %s\n",iNummer,pEingabe->sZeile);
			pEingabe=pEingabe->pnachher;
			iNummer++; }
  printf("\nbreak\n");
  getch();
  printf("Ausgabe von den Listen bis 1\n",iNummer-1);
  pEingabe=pEnde;
  while (pEingabe->pvorher!=NULL)
		      { printf("%2i.te Zeile: %s\n",iNummer-1,pEingabe->sZeile);
			pEingabe=pEingabe->pvorher;
			iNummer--; }
 printf("%2i. Zeile: %s\n",iNummer-1,pEingabe->sZeile);
 getch();
}