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.