home *** CD-ROM | disk | FTP | other *** search
- MODULE Birthday;
-
- IMPORT AVL, io;
-
- TYPE
- Person = POINTER TO PersonDesc;
- PersonDesc = RECORD (AVL.SNode)
- birthday: ARRAY 20 OF CHAR;
- END;
-
- VAR
- root: AVL.SRoot;
- node: AVL.NodePtr;
- new: Person;
- eingabe: ARRAY 20 OF CHAR;
- name: AVL.String;
-
- BEGIN
- AVL.SInit(root);
- REPEAT
- io.WriteLn;
- io.WriteString(" N: Neue Person\n");
- io.WriteString(" G: Geburtstag ausgeben\n");
- io.WriteString(" E: Ende\n\n");
- io.WriteString("Eingabe: ");
- io.ReadString(eingabe);
- io.WriteLn;
- IF (eingabe="n") OR (eingabe="g") THEN
- io.WriteString("Name der Person: ");
- io.ReadString(name);
- IF eingabe="n" THEN
- NEW(new); new.name := name;
- io.WriteString("Geburtstag: ");
- io.ReadString(new.birthday);
- IF ~ AVL.Add(root,new) THEN
- io.WriteString("Person existiert bereits!\n");
- END;
- ELSE
- node := AVL.SFind(root,name);
- IF node=NIL THEN
- io.WriteString("Person nicht gefunden!\n");
- ELSE
- io.WriteString("Geburtstag: ");
- io.WriteString(node(Person).birthday);
- io.WriteLn;
- END;
- END;
- END;
- UNTIL eingabe="e";
- END Birthday.
-