Kamis, 07 April 2011

Program Pascal Nota Pembelanjaan

Program ini sengaja saya buat untuk memenuhi tugas kampus Mata Kuliah Struktur Data.
Sebenarnya tugas ini banyak teman sekelas yang belum berhasil jadi mendingan di sharing aja sebagai referensi kawan2...

program nota_blnja;
uses crt;
var nb : array [1..15,1..15] of string;       {penggunaan array dua dimensi}
    bb,hb,by : array [1..15,1..15] of integer;
    n : array [1..15] of integer;
    m,i,j,x : integer;
    dsk,jby,tb : array [1..15] of real;
    ulang : char;
begin
ulang := 'y';
while (ulang='y') or (ulang='Y') do
begin
clrscr;
     write('jumlah pelanggan = '); readln(m);
     for i := 1 to m do              {perulangan untuk jumlah pelanggan}
     begin
          writeln('pelanggan ',i);
          write('jumlah barang = '); readln(n[i]);
          for j := 1 to n[i] do      {perulangan untuk jumlah barang}
          begin
               write('nama barang ',j,'= '); readln(nb[i,j]);
               write('banyak barang ',j,'= '); readln(bb[i,j]);
               write('harga barang ',j,'= '); readln(hb[i,j]);
               by[i,j] := bb[i,j] * hb[i,j];
               jby[i] := jby[i] + by[i,j];
          end;
     if jby[i] > 500 then
        dsk[i] := 0.2 * jby[i]
     else
     if jby[i] >= 100 then
        dsk[i] := 0.1 * jby[i]
     else
        dsk[i] := 0;
     tb[i] := jby[i] - dsk[i];
     end;
     clrscr;
     gotoxy(28,2); writeln('DAFTAR BELANJA BULANAN');
     gotoxy(2,3); writeln('--------------------------------------------------------------------------');
     gotoxy(2,4); write('|');
     gotoxy(4,4); write('No');
     gotoxy(7,4); write('|');
     gotoxy(9,4); write('Nama Brng');
     gotoxy(19,4); write('|');
     gotoxy(21,4); write('Banyak Brng');
     gotoxy(33,4); write('|');
     gotoxy(35,4); write('Harga Brng');
     gotoxy(46,4); write('|');
     gotoxy(48,4); write('Bayar');
     gotoxy(54,4); write('|');
     gotoxy(56,4); write('Diskon');
     gotoxy(63,4); write('|');
     gotoxy(65,4); write('Total Byr');
     gotoxy(75,4); writeln('|');
     gotoxy(2,5); writeln('--------------------------------------------------------------------------');
     x := 0;
     for i := 1 to m do
     begin
          for j := 1 to n[i] do
          begin
               gotoxy(2,5+j+x); write('|');
               gotoxy(7,5+j+x); write('|');
               gotoxy(9,5+j+x); write(nb[i,j]);
               gotoxy(19,5+j+x); write('|');
               gotoxy(26,5+j+x); write(bb[i,j]);
               gotoxy(33,5+j+x); write('|');
               gotoxy(35,5+j+x); write(hb[i,j]);
               gotoxy(46,5+j+x); write('|');
               gotoxy(48,5+j+x); write(by[i,j]);
               gotoxy(54,5+j+x); write('|');
               gotoxy(63,5+j+x); write('|');
               gotoxy(75,5+j+x); write('|');
          end;
          gotoxy(2,6+n[i]+x); write('|');
          gotoxy(4,6+x); write(i);
          gotoxy(7,6+n[i]+x); write('|');
          gotoxy(19,6+n[i]+x); write('|');
          gotoxy(33,6+n[i]+x); write('|');
          gotoxy(35,6+n[i]+x); write('Jmlh Hrg =');
          gotoxy(46,6+n[i]+x); write('|');
      gotoxy(48,6+n[i]+x); write(jby[i]:0:0);
          gotoxy(54,6+n[i]+x); write('|');
          gotoxy(56,6+x); write(dsk[i]:0:0);
          gotoxy(63,6+n[i]+x); write('|');
          gotoxy(65,6+x); write(tb[i]:0:0);
          gotoxy(75,6+n[i]+x); write('|');
         
          gotoxy(2,7+n[i]+x); writeln('--------------------------------------------------------------------------');
          x := x + n[i] + 2;
     end;
writeln;
write('Apakah anda ingin mengulang [Y/N] = '); read(ulang);
end;
end.

Tidak ada komentar: