thieumao

Sắp xếp danh sách sinh viên

Apr 10th, 2013
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.74 KB | None | 0 0
  1. uses crt;
  2. type
  3.   ht = record
  4.     ho: string[7];
  5.     dem: string[7];
  6.     ten: string[7];
  7.   end;
  8.   danhsach = record
  9.     hoten: ht;
  10.     diemtb: real;
  11.   end;
  12. var
  13.   n,chon: byte;
  14.   a: array[1..100] of danhsach;
  15. procedure nhap;
  16. var i:byte;
  17.     ch:char;
  18. begin
  19.   n:=0;
  20.   repeat
  21.   n:=n+1;
  22.     writeln('** Nhap nguoi thu ',n);
  23.     writeln('Ho ten   : ');
  24.     write('- Ho : '); readln(a[n].hoten.ho);
  25.     write('- Dem: '); readln(a[n].hoten.dem);
  26.     write('- Ten: '); readln(a[n].hoten.ten);
  27.     write('Diem TB  : '); readln(a[n].diemtb);
  28.     repeat
  29.       writeln('Ban co muon tiep tuc nhap them khong? c/k ');
  30.       readln(ch);
  31.     until (ch='c') or (ch='C') or (ch='k') or (ch='K');
  32.   until (ch='k') or (ch='K');
  33. end;
  34. procedure xuat;
  35. var i:byte;
  36.     st: string[21];
  37. begin
  38.   writeln('*** Danh sach ***':32);
  39.   writeln('STT':5, 'Ho ten':22, 'Diem TB':10);
  40.   for i:=1 to n do
  41.     begin
  42.       st := a[i].hoten.ho + ' '+ a[i].hoten.dem + ' '+ a[i].hoten.ten;
  43.       writeln(i:5,st:22,a[i].diemtb:10:1);
  44.     end;
  45. end;
  46. procedure tang;
  47. var i,j:byte;
  48.     tg: danhsach;
  49. begin
  50.   for i:=1 to n-1 do
  51.     for j:=i+1 to n do
  52.       if a[i].diemtb > a[j].diemtb then
  53.         begin
  54.           tg := a[i];
  55.           a[i] := a[j];
  56.           a[j] := tg;
  57.         end;
  58. end;
  59. procedure giam;
  60. var i,j:byte;
  61.     tg: danhsach;
  62. begin
  63.   for i:=1 to n-1 do
  64.     for j:=i+1 to n do
  65.       if a[i].diemtb < a[j].diemtb then
  66.         begin
  67.           tg := a[i];
  68.           a[i] := a[j];
  69.           a[j] := tg;
  70.         end;
  71. end;
  72. begin
  73.   clrscr;
  74.   nhap;
  75.   writeln('Ban muon sap xep dtang/giam ?');
  76.   writeln(' - Chon 1 de tang');
  77.   writeln(' - Chon 2 de giam');
  78.   readln(chon);
  79.   case chon of
  80.     1: tang;
  81.     2: giam;
  82.   end;
  83.   xuat;
  84.   readln;
  85. end.
Advertisement
Add Comment
Please, Sign In to add comment