dang lifo
program baitapLIFO;
Uses crt;
Type DS=^Quanlyhoso;
Quanlyhoso=record
MaCB:string[5];
Hoten:string[20];
Phong:string[5];
HSL:real;
Tiep:DS;
end;
Var ct,ct1,ctcuoi,last:DS; n:integer;
Procedure TaoDS;
var lam:char;
Begin
writeln('Nhap thong tin can bo');
writeln;
lam:='C';
ctcuoi:=nil;
Repeat
New(ct);
With ct^ do
begin
write('Ma can bo: ');readln(MaCB);
write('Ho va ten: ');readln(Hoten);
write('Phong ban: ');readln(Phong);
write('He so luong: ');readln(HSL);
end;
{if ctcuoi=nil then
begin}
ct^.Tiep:=ctcuoi;
ctcuoi:=ct;
{ end; }
writeln;
write('Nhap tiep hay thoi? (C/K) ');readln(lam);
writeln;
Until Upcase(lam)='K';
end;
Procedure DuyetDS;
begin
writeln;
writeln('Danh sach can bo');
writeln;
ct:=ctcuoi;
writeln('MaCB':4,'Ho va ten':16,'Phong ban':12,'He so luong':13);
while ct<>nil do
begin
with ct^ do
begin
writeln(MaCB:3,Hoten:17,Phong:10,HSL:13:2);
ct:=ct^.Tiep;
end;
end;
end;
{Them mot can bo vao cuoi danh sach}
Procedure Them;var ctdau:ds;
Begin
writeln('Them mot can bo vao cuoi danh sach');
writeln;
New(ct);
With ct^ do
begin
write('Ma can bo: ');readln(MaCB);
write('Ho va ten: ');readln(Hoten);
write('Phong ban: ');readln(Phong);
write('He so luong: ');readln(HSL);
end;
ct^.Tiep:=nil;
if ctcuoi=nil then ctcuoi:=ct
else
begin
ct^.Tiep:=ctcuoi;
ctcuoi:=ct;
end;
end;
{Tim va sua can bo co co ma CNP12}
Procedure TimvaSua;
var SmaCB:string[5];
begin
writeln;
writeln('Ma can bo can sua co ma la CNP12 ');
writeln;
write('Nhap ma can bo can sua: ');readln(SMaCB);
ct:=ctcuoi;
while (ct<>nil) and (ct^.MaCB<>SMaCB) do
ct:=ct^.Tiep;
If (ct^.MaCb=SMaCB) and (ct^.MaCB='CNP12') then
ct^.HSL:=2.67
else
writeln('Du lieu ban nhap khong dung yeu cau');
end;
procedure xoa;
var SMaCB:string[5];
begin
writeln;
writeln('Can bo an xoa khoi danh sach co ma la : CNP20');
writeln;
write('Nhap ma can bo can xoa khoi danh sach: ');readln(SMaCB);
ct1:=ctcuoi;
ct:=ct1^.Tiep;
While (ct<>nil) and (ct^.MaCB<>SMaCB) do
begin
ct1:=ct;
ct:=ct^.Tiep;
end;
if ((ct=ctcuoi)and(ct^.MaCB='CNP12'))then
ctcuoi:=ct^.Tiep
else
if ((ct^.MaCB=SMaCB)and(ct^.MaCB='CNP12'))then
ct1^.Tiep:=ct^.Tiep
else
writeln('Khong tim thay can bo co ma CNP20');
end;
begin
clrscr;
writeln;
writeln;
textcolor(red);
writeln(' MENU CHUONG TRINH CHINH ');
writeln;
textcolor(white);
writeln(' 1:Tao danh sach ');
writeln(' 2:Duyet danh sach ');
writeln(' 3:Them can bo vao danh sach ');
writeln(' 4:Tim va Sua thong tin can bo ');
writeln(' 5:Xoa ho so can bo ');
writeln(' 6:Nhan phim 9 de ket thuc ');
writeln;
Repeat
textcolor(green);
write('Ban chon cong viec nao? ');readln(n);
writeln;
textcolor(white);
Case n of
1:TaoDS;
2:DuyetDS;
3:begin Them; DuyetDS; end;
4:begin TimvaSua; DuyetDS; end;
5:begin Xoa; DuyetDS; end;
end;
writeln;
writeln('Nhan phim 9 de ket thuc ');
writeln;
Until n=9;
end.
Bạn đang đọc truyện trên: truyentop.pro