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.
    Artikel 
Tidak ada komentar:
Posting Komentar