Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses crt;
- type
- ht = record
- ho: string[7];
- dem: string[7];
- ten: string[7];
- end;
- danhsach = record
- hoten: ht;
- diemtb: real;
- end;
- var
- n,chon: byte;
- a: array[1..100] of danhsach;
- procedure nhap;
- var i:byte;
- ch:char;
- begin
- n:=0;
- repeat
- n:=n+1;
- writeln('** Nhap nguoi thu ',n);
- writeln('Ho ten : ');
- write('- Ho : '); readln(a[n].hoten.ho);
- write('- Dem: '); readln(a[n].hoten.dem);
- write('- Ten: '); readln(a[n].hoten.ten);
- write('Diem TB : '); readln(a[n].diemtb);
- repeat
- writeln('Ban co muon tiep tuc nhap them khong? c/k ');
- readln(ch);
- until (ch='c') or (ch='C') or (ch='k') or (ch='K');
- until (ch='k') or (ch='K');
- end;
- procedure xuat;
- var i:byte;
- st: string[21];
- begin
- writeln('*** Danh sach ***':32);
- writeln('STT':5, 'Ho ten':22, 'Diem TB':10);
- for i:=1 to n do
- begin
- st := a[i].hoten.ho + ' '+ a[i].hoten.dem + ' '+ a[i].hoten.ten;
- writeln(i:5,st:22,a[i].diemtb:10:1);
- end;
- end;
- procedure tang;
- var i,j:byte;
- tg: danhsach;
- begin
- for i:=1 to n-1 do
- for j:=i+1 to n do
- if a[i].diemtb > a[j].diemtb then
- begin
- tg := a[i];
- a[i] := a[j];
- a[j] := tg;
- end;
- end;
- procedure giam;
- var i,j:byte;
- tg: danhsach;
- begin
- for i:=1 to n-1 do
- for j:=i+1 to n do
- if a[i].diemtb < a[j].diemtb then
- begin
- tg := a[i];
- a[i] := a[j];
- a[j] := tg;
- end;
- end;
- begin
- clrscr;
- nhap;
- writeln('Ban muon sap xep dtang/giam ?');
- writeln(' - Chon 1 de tang');
- writeln(' - Chon 2 de giam');
- readln(chon);
- case chon of
- 1: tang;
- 2: giam;
- end;
- xuat;
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment