thieumao

Tạo in xóa trong con trỏ

Jun 26th, 2013
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.54 KB | None | 0 0
  1. uses crt;
  2. type
  3.   contro= ^phantu;
  4.   phantu = record
  5.     hoten: string[30];
  6.     tuoi:integer;
  7.     diemtb:integer;
  8.     next: contro;
  9.   end;
  10. var
  11.   first:contro;
  12.   i,cn:integer;
  13.   ch:char;
  14. procedure taods;
  15. var p:contro;
  16. begin
  17.   first:=nil;
  18.   i:=1;
  19.   repeat
  20.     new(p);
  21.     write('nhap ho ten: ');readln(p^.hoten);
  22.     write('nhap tuoi: ');readln(p^.tuoi);
  23.     write('nhap diem tb: ');readln(p^.diemtb);
  24.     p^.next :=first;
  25.     first:=p;
  26.     i:=i+1;
  27.     writeln('co muon nhap nua ko? c/k');readln(ch);
  28.   until ch = 'k';
  29. end;
  30. procedure inds;
  31. var p:contro;
  32. begin
  33.   p:=first;
  34.   i:=1;
  35.   writeln('stt hoten tuoi diemtb');
  36.   while p<>nil do
  37.     begin
  38.       writeln(i:3,p^.hoten:7,p^.tuoi:3,p^.diemtb:4);
  39.       p:=p^.next;
  40.       i:=i+1;
  41.     end;
  42. end;
  43. procedure xoapt;
  44. var
  45.   p,q:contro;
  46.   ten1:string[30];
  47. begin
  48.   write('nhap ten sinh vien can xoa: ');readln(ten1);
  49.   p:=first;
  50.   while (p<>nil )and (p^.hoten<>ten1) do p:=p^.next;
  51.   if p=nil then write('khong co ten trong danh sach')
  52.   else
  53.     begin
  54.       write('co ten trong danh sach');
  55.       new(q);
  56.       q:=first;
  57.       while q^.next <> p do q:=q^.next;
  58.       q^.next:=p^.next;
  59.       dispose(p);
  60.     end;
  61. end;
  62.  
  63.  
  64. BEGIN
  65.   Clrscr;
  66.   repeat
  67.     writeln('Danh sach chuc nang');
  68.     writeln('1. Tao danh sach');
  69.     writeln('2. In danh sach');
  70.     writeln('3. Xoa danh sach');
  71.     writeln('4. Thoat');
  72.     writeln('Xin moi chon chuc nang: ');readln(cn);
  73.     case cn of
  74.       1: taods;
  75.       2: inds;
  76.       3: xoapt;
  77.     end;
  78.   until cn= 4;
  79.   readln;
  80. end.
Advertisement
Add Comment
Please, Sign In to add comment