Kudena.blogspot.com-Minggu(28/3) , oke waktunya program pascal :D , kali ini programnya berkaitan dengan struk pembayaran,ini dia hasil outputnya :
dan ini kode pascalnya gan :
program minggu_3;
uses crt;
const max=10;
const garis='===========================================================';
type rec_struk=record
nomer,tanggal,kasir:string;
nama:array[1..max] of string;
harga,jumlah:array[1..max] of real;
qtt:array[1..max] of byte;
total:real;
end;
type larik=array[1..max] of rec_struk;
var struk:larik;
i,n1,n2:byte;
ya:char;
procedure isi_struk(var x:larik);
Begin
repeat
inc(n1);
writeln(garis);
writeln(' Beta Mart
IST AKPRIND YOGYAKARTA');
writeln(garis);
x[n1].total:=0;n2:=0;
write('Masukan nomer struk
: ');readln(x[n1].nomer);
write('Masukan Nama Kasir
: ');readln(x[n1].kasir);
write('Masukan tanggal
: ');readln(x[n1].tanggal);
repeat
begin
clrscr;
inc(n2);
writeln(garis);
writeln(' Beta
Mart IST AKPRIND YOGYAKARTA');
writeln(garis);
writeln('jika mau berhenti
masukan nama barang = selesai');
write('Masukan nama barang : ');readln(x[n1].nama[n2]);
if x[n1].nama[n2]<>'selesai'
then
begin
write('masukan
harga barang : Rp.');readln(x[n1].harga[n2]);
write('masukan
jumlah barang : ');readln(x[n1].qtt[n2]);
x[n1].jumlah[n2]:=x[n1].harga[n2]*x[n1].qtt[n2];
x[n1].total:=x[n1].total+x[n1].jumlah[n2];
end;end;
until (x[n1].nama[n2]='selesai')
or (n2>=max);
dec(n2);
write('Apakah
anda ingin hapus data dan isi lagi ? <y/t>');readln(ya);
until (ya<>'y');
end;
procedure cetak_struk(var x:larik);
var bayar,kembali:real; label ulang;
begin
clrscr;
writeln;
writeln(garis);
writeln(' Struk Beta Mart
IST AKPRIND YOGYAKARTA '); writeln;
writeln(garis);
writeln;
writeln('Nomer : ',x[n1].nomer);
writeln('Nama Kasir : ',x[n1].kasir);
writeln('Tanggal : ',x[n1].tanggal); writeln;
writeln('No Nama Barang Harga
Qtt Jumlah');
writeln(garis);
writeln(garis);
for i:=1 to n2 do
writeln(i:2,'',x[n1].nama[i]:15,' ',x[n1].harga[i]:8:2,' ',x[n1].qtt[i]:3,'
',x[n1].jumlah[i]:8:2);
writeln(garis);
writeln('total belanja = Rp',x[n1].total:10:2);
ulang:
write('bayar = Rp
');readln(bayar);
if bayar<x[n1].total
then begin writeln('pembayaran
kurang,ulangi'); goto ulang; end else
begin
kembali:=bayar-x[n1].total;
writeln('kembali = Rp
',kembali:8:2);
writeln('terimakasih,selamat
berkunjung kembali');
writeln(garis);
end;
end;
begin
isi_struk(struk);
cetak_struk(struk);
readln;
end.
No comments:
Post a Comment
Tinggalkan Pesan :