Selasa, 21 Mei 2013
Contoh program entri via pointer pada Pascal
Berikut listing progam entri data mengunakan pointer pada pascal:
program entriviapointer;
uses crt;
type psiswa=^tsiswa; {deklarasi pointer bertipe tsiswa}
tsiswa=record
nim:string[4];
nama:string[15];
umur:integer;
alamat:string[20];
kota:string[20];
end;
procedure tampilkanmenu(var pilihan:integer);
begin
clrscr;
writeln('pilih salah satu menu berikut.');
writeln('[1] tambah data');
writeln('[2] lihat data');
writeln('[3] keluar program');
writeln;
write('masukkan pilihan anda:');readln(pilihan);
end;
label awal;
var
a:array[1..100] of tsiswa; {variabel array bertipe tsiswa}
p:psiswa;
i,n,pilih:integer;
begin
awal:
tampilkanmenu(pilih);
clrscr;
case pilih of
1:begin
write('masukkan banyak data: ');readln(n);
for i:=1 to n do begin
p:=@a[i]; {mendapatkan alamat memori pada variabel a[i]}
writeln ('data ke-',i);
with P^ do begin {mengisikan nilai ke variabel yg ditunjuk pointer}
write('nim : ');readln(nim);
write('nama : ');readln(nama);
write('umur : ');readln(umur);
write('alamat : ');readln(alamat);
write('kota : ');readln(kota);
end;
end;
end;
2:begin
if n<>0 then begin
write('nim':4, ' ':2,'nama':15, ' ':2,'umur':2);
writeln('alamat':20,' ':2,'kota':12);
for i:=1 to n do begin
p:=@a[i]; {mendapatkan alamat variabel}
with p^ do begin {membaca isi dari variabel yg ditunjuk pointer}
writeln(nim:4,' ':2,nama:15, ' ':2,umur:2,alamat:20,' ':2,kota:12);
end;
end;
end;
end;
3:halt(0);
end;
writeln;
write('press anykey for back '+'to menu...');
readln;
goto awal;
end.
Langganan:
Posting Komentar (Atom)
sip, tinggal kopas nihh
BalasHapus