Rabu, 11 Mei 2011

tugas modul halaman 59


program mencari_nilai_mahasiswa;
USES CRT;
type
  mahasiswa=record
    NPM      :String[8];
    NAMA     :String[20];
    MKUL:String[5];
  END;
VAR
rpeg  :Array[1..20] of mahasiswa;
i,j   :byte;
Nmid,Nsemester:longint;
pil,
lg    :char;

PROCEDURE InputMAHASISWA;
    PROCEDURE FormMAHASISWA;
    BEGIN
      Clrscr;
      Gotoxy(20,2);write('iNPUT DATA NILAI MAHASISWA');
      Gotoxy(10,3);write('_________________________________________');
      Gotoxy(10,4);write('NPM              :');
      Gotoxy(10,5);write('NAMA             :');
      Gotoxy(10,6);write('MATA KULIAH      :');
      Gotoxy(10,7);write('_________________________________________');
      Gotoxy(10,8);write('isikan data lagi[T/Y]:');
   END;

BEGIN
   REPEAT
     FORMMahasiswa;
     WITH Rpeg[i] do
     Begin
     Gotoxy(27,4);readln(NPM);
     Gotoxy(27,5);readln(NAMA);
     Gotoxy(27,6);readln(MKUL);
     Gotoxy(33,8);readln(Lg);
   END;
   inc(i);
  UNTIL Upcase(lg)='T';
END;

PROCEDURE OutputMAHASISWA;
  PROCEDURE TabelMAHASISWA;
  BEGIN
    Clrscr;
    Gotoxy(3,3);write('LAPORAN DATA MAHASISWA');
    Gotoxy(3,4);write('______________________________________________');
    Gotoxy(3,5);write('No   NPM   NAMA         MATA KULIAH   Nilai Mid  Nilai Semester Nilai Huruf Ket');
    Gotoxy(3,6);write('______________________________________________');
    END;

    PROCEDURE HITNILAI(cMKUL:String;Var nNilai:Longint);
    Begin
    if TotNilai[j]>=80 then Nh:='A'
    else if TotNilai[j]>=79 then Nh:='B'
    else if TotNilai[j]>=69 then Nh:='C'
    else if TotNilai[j]>=50 then Nh:='D'
    else if TotNilai[j]>=40 then  Nh:='E'
  END;
  if Nh='E'then ket:='GAGAL';
  else ket:='LULUS';

  BEGIN
  TabelNilaiMahasiswa;
  for j:=1 to I-1 do
  BEGIN
   WITH RPeg[i]do
   begin
   HitNilai(MKul,Nilai);

   Gotoxy(5,6+j);write(j:2,'   ',NPM:8,'   ',NAMA);
   Gotoxy(44,6+j);write(MKul);
   Gotoxy(49,6+j);write(Nilai:8);

   TNilai=(40%*Nilai Mid)+(60%*Nilai Sem);
  END;
END;
Gotoxy(3,7+j);write('__________________________________________________');
Gotoxy(3,8+j);write('    TOTAL NILAI                    tnilai:10);
Repeat Until Keypressed;
end;

PROCEDURE MENU;
BEGIN
     Clrscr;
     Gotoxy(20,2);write('MENU MAHASISWA');
     Gotoxy(10,3);write('________________________________________________');
     Gotoxy(10,4);write('[1].Input Data Nilai Mahasiswa');
     Gotoxy(10,5);write('[2].Output Data Nilai Mahasiswa');
     Gotoxy(10,6);write('[3].Keluar Program');
     Gotoxy(10,7);write('________________________________________________');

     Gotoxy(10,8);write('Pilihan     :');
     END;

     BEGIN{Program utama}
        i:=1;Pil:='1';
        while Pil<>'3'do
     BEGIN
          MENU;
          Pil:=Readkey;
          Case PIL of
               '1':InputMAHASISWA;
               '2':OutputMAHASISWA;
          end;
     END;
END.


Tidak ada komentar:

Posting Komentar