/* * Programm, das eine Telefonliste erstellt. Hier koennen dynamisch neue Elemente * hinzugefuegt werden. * Autor: Renee Baecker * Version: 0.1 * Datum: 23.04.2004 */ #include #include using namespace std; /* * Struct für die einzelnen Elemente */ typedef struct tagTelBuchEintrag{ char *name; char *telNummer; struct tagTelBuchEintrag *nextEintrag; }TelBuchEintrag, *PTelBuchEintrag; /* * Globale Variablen zur Navigation innerhalb des Telefonbuchs */ TelBuchEintrag *ersterEintrag; //Zeiger auf den ersten Telefonbucheintrag TelBuchEintrag *letzterEintrag; //Zeiger auf den letzten Telefonbucheintrag long anzahlEintraege; //Anzahl der Eintraege insgesamt /* * Funktion zur Initialisierung des Telefonbuchs */ void initTelBuch(){ ersterEintrag = NULL; letzterEintrag = NULL; anzahlEintraege = 0; } /* * Neuen Telefonbucheintrag hinzufuegen */ bool addEntry(char* text, char* nummer){ TelBuchEintrag *neuerEintrag = new(TelBuchEintrag); neuerEintrag->name = text; neuerEintrag->telNummer = nummer; neuerEintrag->nextEintrag = NULL; if(!letzterEintrag){ // wenn noch keine Eintraege vorhanden sind ersterEintrag = neuerEintrag; letzterEintrag = neuerEintrag; anzahlEintraege++; } else{ TelBuchEintrag *tmpEintrag = letzterEintrag; tmpEintrag->nextEintrag = neuerEintrag; letzterEintrag = neuerEintrag; anzahlEintraege++; } return true; } /* * Funktion, die den Namen zurueckgibt */ char* getName(){ char *name = NULL; assert(anzahlEintraege); if(anzahlEintraege){ name = ersterEintrag->name; } return name; } /* * Funktion, die die Nummer zurueckgibt */ char* getNummer(){ char *nummer = NULL; assert(anzahlEintraege); if(anzahlEintraege){ nummer = ersterEintrag->telNummer; } return nummer; } /* * Funktion, die das erste Listenelement loescht. */ void delListElement(){ TelBuchEintrag *alterEintrag; assert(anzahlEintraege); if(anzahlEintraege){ alterEintrag = ersterEintrag; ersterEintrag = ersterEintrag->nextEintrag; delete alterEintrag; } } /* * Hauptprogramm */ int main(){ initTelBuch(); addEntry("Renee","0180/5632893"); cout<