Senin, 16 Juni 2008

Data Mahasiswa







uses wincrt;
type simpul = ^data;
data = record
huruf : char;
indeks :integer;
next: simpul;
end;
var awal,akhir,baru,bantu,del: simpul;
i,jwb,j:integer;
procedure input_nama(var i:integer);
begin
clrscr;
new(baru);
if awal=nil then
begin
baru^.next:=nil;
awal:=baru;
akhir:=baru;
end
else
begin
akhir^.next:=baru;
akhir:=baru;
akhir^.next:=nil;
end;
write('Masukkan huruf Dari nama Anda : ');readln(baru^.huruf);
i:=i+1;
baru^.indeks:=i;
write('Tekan ENTER Untuk Kembali Ke MENU ');readln;
end;
procedure tampil_nama;
begin
clrscr;
write('Nama Anda : ');
baru:=awal;
while (baru <> nil) do
begin
write(baru^.huruf);
baru:=baru^.next;
end;
writeln;
write('Tekan ENTER Untuk Kembali Ke MENU ');readln;
end;
procedure cek_nama(i:integer);
begin
bantu:=awal;
del:=bantu^.next;
while (del^.indeks <>i)and(bantu^.next <>nil) do
begin
bantu:=bantu^.next;
del:=bantu^.next;
end;
if del <>nil then
begin
if del <>akhir then
bantu^.next:=del^.next
else
begin
akhir :=bantu;
akhir^.next:=nil;
end;
dispose(del);
end;
end;
procedure hapus_nama;
begin
clrscr;
if awal = nil then
writeln('Daftar Masih Kosong ')
else if awal^.indeks = i then
begin
del:=awal;
awal:=del^.next;
dispose(del);
end
else
begin
cek_nama(3);
cek_nama(5);
cek_nama(6);
writeln('Huruf ke 3, 5, 6 sudah dihapus');
end;
write('Tekan ENTER Untuk Kembali Ke MENU ');readln;
end;
begin
i:=0;
repeat
clrscr;
gotoxy(15,1);writeln('Menu Nama');
gotoxy(5,2);writeln('<1>Input Nama ');
gotoxy(5,3);writeln('<2>Hapus Huruf Ke 3,5,6 ');
gotoxy(5,4);writeln('<3>Tampilkan Nama ');
gotoxy(5,5);writeln('<4>Keluar Menu ');
gotoxy(30,6);writeln(' ');
gotoxy(5,6);write('Tentukan Pilihan Anda : ');
gotoxy(30,6);readln(jwb);
case jwb of
1:input_nama(i);
2:hapus_nama;
3:tampil_nama;
end;
until (jwb =4);
clrscr;
end.

Tidak ada komentar: