RECORDs in Listen 

Problem : In einer Arztdatei oder Schülerdatei befinden sich viele Karteikarten, also viele Datensätze.

Nach dem Prinzip verschachtelte RECORDs lassen sich Listen von Datensätzen in Pascal bilden.

program Karteikarte;
uses crt;
var person  :  ARRAY[1..100] of RECORD
                                name       : string[20];
                                vorname    : string[20];
                                geburtstag : RECORD
                                               tag  : 1..31;
                                               monat: 1..12;
                                               jahr : 1850..2004;
                                             END;
                                END;
var i, anzahl   : integer;
procedure eingabe(var anzahl :integer);
begin
     for i := 1 to anzahl do
     begin
          gotoxy(5,7); write(i,' . Eingabe');
          gotoxy(5,9); write('Name     :  ');readln(person[i].name);
          gotoxy(5,11); write('Vorname  :  ');readln(person[i].vorname);
          gotoxy(5,13); write('Geburtstag : ');
          gotoxy(10,15);write('Tag   :');readln(person[i].geburtstag.tag);
          gotoxy(10,17);write('Monat :');readln(person[i].geburtstag.monat);
          gotoxy(10,19);write('Jahr  :');readln(person[i].geburtstag.jahr);
          readln;clrscr;
     end;
end;
begin
     clrscr;
     clrscr;
     window(2,2,78,23);
     textbackground(white);
     textcolor(red);
     gotoxy(13,2);write('KARTEIKARTEN mit Geburtstag ');
     textcolor(black); gotoxy(5,5);write('Wie viele Eintr„ge sollen vorgenommen werden ? ');
     readln(anzahl);
     eingabe(anzahl);
     readln;
     clrscr;textcolor(green);
     gotoxy(5,3);write('Ausgabe der Liste  ');
     for i := 1 to anzahl do
     begin
          gotoxy(5,4+i);write(person[i].vorname,' ',person[i].name,'  ist am  ');
          gotoxy(35,4+i);
          write(person[i].geburtstag.tag,'.',person[i].geburtstag.monat,'.',person[i].geburtstag.jahr,'  geboren');
     end;
     readln;
end.