Tin họC ĐẠi cưƠNG



tải về 228.5 Kb.
trang15/19
Chuyển đổi dữ liệu28.05.2024
Kích228.5 Kb.
#57772
1   ...   11   12   13   14   15   16   17   18   19
On tap Pascal nang cao

Một số CTC


procedure NhapHS(var f: FHosoTS);


var
ts: HosoTS; ht: String[25]; i: Word;
begin
Assign(f, fn); {$I-} Reset(f); {$I+};
{Neu tep chua co thi tao moi}
if IOResult <> 0 then Rewrite(f);
ClrScr;
Writeln('Nhap ho so, go ho ten trong de ket thuc !');
i := FileSize(f) + 1;
repeat
Writeln('Thi sinh thu ', i);
Write('Ho ten: '); Readln(ht);
if ht <> '' then
begin
ts.hoten := ht;
Write('So bao danh: '); Readln(ts.sbd);
Write('Diem mon 1, mon 2, mon 3: ');
Readln(ts.mon1, ts.mon2, ts.mon3);
Seek(f, i-1); Write(f, ts);
i := i+1;
end;
until ht = '';
Close(f);
Write(#10#13,'So ho so trong tep ', fn, ' la: ', i,
'. An phim ENTER.');
Readln;
end;
procedure InDSPT(var f: FHosoTS);
var ts, ts1, ts2: HosoTS; i, j, n: Word; pthi, stt: Byte;
begin
{Sap xep theo ho ten thi sinh}
Assign(f, fn); Reset(f); {fn='HOSOTS.DAT'}
n:= FileSize(f);
for i:= 0 to n - 2 do
for j:= i+1 to n - 1 do begin
Seek(f, i); Read(f,ts1); Seek(f, j); Read(f,ts2);
if ts1.hoten > ts2.hoten then begin
Seek(f, j); Write(f,ts1); Seek(f, i); Write(f,ts2);
end;
end;
{In danh sach phong thi}
ClrScr;
Seek(f, 0); {Dua con tro ve dau tep}
pthi:= 1; {So phong thi tu 1}
while not Eof(f) do begin
Writeln('DANH SACH THI SINH THI TSDH NAM ...');
Writeln(' Phong thi so: ', pthi); Writeln;
Writeln('+----+-------------------+-------+--------+-----------+');
Writeln('|STT| Ho va ten |SoBD|Chu ki| Ghi chu |');
Writeln('+----+-------------------+-------+--------+-----------+');
stt := 1;
while (stt < 18)and(not Eof(f)) do begin {In: stt < 41}
Read(f, ts);
With ts do
Writeln('|', stt: 3, '|', hoten: 25, '|', sbd: 8,
'|', #32:12, '|',#32:9,'|');
Inc(stt);
end;
Inc(pthi);
Write(#10#13,'An phim ENTER tiep tuc... '); Readln;
end;
Close(f);
end;
{Tinh tong diem va xet ket qua}
procedure Tinhtoan(var f: FHosoTS);
var
ts: HosoTS;
begin
Assign(f, fn); Reset(f); {fn = 'HOSOTS.DAT'}
while not Eof(f) do
begin
Read(f, ts);
ts.tong:= ts.mon1 + ts.mon2 + ts.mon3;
if ts.tong >= 22 then ts.kq:= 'DO' else ts.kq:= 'TRUOT';
Seek(f, FilePos(f)-1); {Dua con tro tep ve vi tri cu}
Write(f,ts);
end;
Write(#10#13, 'Hoan thanh tot dep. An phim ENTER... ');
Readln;
end;
procedure InKQ(var f: FHosoTS);
var ts, ts1, ts2: HosoTS;
i, j, n: Word; soto, stt: Byte;
begin
Assign(f, fn); Reset(f); {fn = 'HOSOTS.DAT'}
{Sap xep giam theo tong diem}
n:= FileSize(f);
for i:= 0 to n - 2 do
for j:= i+1 to n - 1 do
begin
Seek(f, i); Read(f,ts1); Seek(f, j); Read(f,ts2);
if ts1.tong < ts2.tong then
begin
Seek(f, j); Write(f,ts1); Seek(f, i); Write(f,ts2);
end;
end;
{In danh sach ket qua thi}
ClrScr;
Seek(f, 0); {Dua con tro ve dau tep}
soto:= 1; {So to tu 1}
while not Eof(f) do
begin
Writeln('KET QUA THI TUYEN SINH DAI HOC ...');
Writeln(' To so: ', soto);
Writeln;
Writeln('+----+ ------------------+--------+-------+------+-------+------+---------+');
Writeln('|STT| Ho va ten | So BD|Mon1|Mon2|Mon3|Tong|Ghi chu|');
Writeln('+----+ ------------------+--------+-------+------+-------+------+---------+');
stt := 1;
while (stt < 18) and (not Eof(f)) do
begin
Read(f, ts);
With ts do
Writeln('|',stt:3,'|',hoten:25,'|',sbd:8,'|',mon1:4:1,
'|',mon2:4:1,'|', mon3:4:1,'|',tong:4:1,'|',#32:10, '|');
Inc(stt);
end;
Inc(soto);
Write(#10#13,'An phim ENTER tiep tuc... ');
Readln;
end;
Close(f);
end;


tải về 228.5 Kb.

Chia sẻ với bạn bè của bạn:
1   ...   11   12   13   14   15   16   17   18   19




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương