Tugas Mandiri II

Reocord dan Array
Uses winCrt;

  Type    Nilai               = Record
  Nim,nama,ket        : String;
  Tugas,UTS,UAS,Hasil : Real;                         
   End;

 larikmhs=array[1..50]of nilai;

 Var mhs   :larikmhs; I  :Integer; lagi  :char; a  :byte;
     Begin
     lagi:='y';
    while lagi='y' do
    Begin
    inc(i);
      Writeln('Entri data Mahasiswa ke : ',i);writeln;
      Write('NIM   : ');Readln(Mhs[i].Nim);
      Write('Nama  : ');Readln(Mhs[i].Nama); writeln;
      Write('Nilai Tugas : ');Readln(Mhs[i].Tugas);
      Write('Nilai UTS   : ');Readln(Mhs[i].Uts);    
      Write('Nilai UAS   : ');Readln(Mhs[i].Uas);
      writeln; write('Mau entri data lagi?'); readln(lagi);writeln;
    End;

    writeln('                         Daftar Nilai Mahasiswa');
    Writeln('-------------------------------------------------------------------------------');
    Writeln('NO |  NIM   |      NAMA      | TUGAS  |   UTS  |  UAS  | Hasil  | Ket   ');
    Writeln('-------------------------------------------------------------------------------');
    For I := 1 To i Do begin
 
    Begin
         a:=3;
        mhs[i].hasil:=(mhs[i].tugas+mhs[i].uts+mhs[i].Uas)/a;
       
       if mhs[i].hasil>80 then mhs[i].ket:='A' else
       if mhs[i].hasil>70 then mhs[i].ket:='B' else
       if mhs[i].hasil>59 then mhs[i].ket:='C' else
       mhs[i].ket:='Nilai Kurang';
       Writeln(i:2,' |',Mhs[i].Nim:7,' |',Mhs[i].Nama:15,' |',Mhs[i].Tugas:7:2,' |',Mhs[i].Uts:7:2,' |',
       Mhs[i].Uas:6:2,' |',Mhs[i].Hasil:6:2,'  |',mhs[i].ket:3);
       writeln('-------------------------------------------------------------------------------');
      
     End;
   
    end;
  End.