program record_dan_procedure;
uses wincrt;
type
rekam=record
nim :string[10];
nama :string;
ipk :real;
end;
y=array[1..100] of rekam;
var
mhs :y;
i,jummhs:byte;
procedure isidata(var x:y);
var
ya :boolean;
jwb :char;
begin
i :=0;
ya:=true;
repeat
begin
i:=i+1;
writeln;
writeln('Masukkan Data Mahasiswa ke-',i:1);
with x[i] do
begin
write('NIM = ');readln(nim);
write('NAMA = ');readln(nama);
write('IPK = ');readln(ipk);
end;
write('mau mengisi lagi(y/t)? ');readln(jwb);
if jwb <> 'y' then ya:=false;
end;
until( not ya);
jummhs:=i;
end;
procedure tampil(var x:y);
begin
writeln;
writeln('------------------------------------------------------');
writeln(' NO NIM NAMA IPK');
WRITELN('------------------------------------------------------');
for i:=1 to jummhs do
writeln(i:2,x[i].nim:13,x[i].nama:20,x[i].ipk:10:2);
writeln('------------------------------------------------------');
end;
begin
writeln(' >>>>>>>>>>>>>>> INPUT DATA <<<<<<<<<<<<<<<');
isidata(mhs);
writeln;
writeln(' >>>>>>>>>>>>>>> OUTPUT DATA <<<<<<<<<<<<<<<');
tampil(mhs);
end.
Tidak ada komentar:
Posting Komentar