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.