Пример 1 записи входного файла «db.txt»:
Sergeeva
4
4
4
Program PascalGuru;
uses crt;
type
all = record
fio: string;
oc1: real;
oc2: real;
oc3: real;
end;
var
f: text;
db: array [1 .. 26] of all;
i: integer;
n: integer;
procedure menu; forward;
procedure vyvod;
var
i: integer;
begin
clrscr;
for i := 1 to n do
writeln(db[i].fio:15, '- ', ': ', db[i].oc1:0:2, '; ', db[i].oc2:0:2, '; ',
db[i].oc3:0:2);
readln;
menu;
end;
{ }
procedure menu1;
var
i: integer;
begin
clrscr;
for i := 1 to n do
begin
if (db[i].oc1 = 5) and (db[i].oc2 = 5) and (db[i].oc3 = 5) then
writeln(db[i].fio:15, '- ', ': ', db[i].oc1:0:2, '; ', db[i].oc2:0:2,
'; ', db[i].oc3:0:2);
end;
readln;
menu;
end;
{ }
procedure menu2;
var
i: integer;
begin
clrscr;
for i := 1 to n do
begin
if (db[i].oc1 + db[i].oc2 + db[i].oc3) < 12 then
writeln(db[i].fio:15, '- ', ': ', db[i].oc1:0:2, '; ', db[i].oc2:0:2,
'; ', db[i].oc3:0:2);
end;
readln;
menu;
end;
{ }
procedure menu3;
var
i: integer;
begin
clrscr;
for i := 1 to n do
begin
if (db[i].oc1 + db[i].oc2 + db[i].oc3) >= 12 then
writeln(db[i].fio:15, '- ', ': ', db[i].oc1:0:2, '; ', db[i].oc2:0:2,
'; ', db[i].oc3:0:2);
end;
readln;
menu;
end;
{ 0000000000000000000 }
procedure menu;
var
i: integer;
begin
clrscr;
writeln('Rabota s "db.txt"');
writeln;
writeln('1. spisok abiturientov, sdavshih vse tri ekzamena na 5;');
writeln;
writeln('2. spisok abiturientov, poterpevshih neudachu na ekzamenah;');
writeln;
writeln('3. spisok abiturientov, zachislennyh v institut.');
writeln;
writeln;
writeln;
writeln('4. Vyvesti spisok VSEX uchenikov iz bazy!!!');
readln(i);
if i = 1 then
menu1;
if i = 2 then
menu2;
if i = 3 then
menu3;
if i = 4 then
vyvod;
end;
{ -----------------begin---------------------- }
begin
assign(f, 'db.txt');
reset(f);
i := 0;
while not eof(f) do
begin
inc(i);
readln(f, db[i].fio);
readln(f, db[i].oc1);
readln(f, db[i].oc2);
readln(f, db[i].oc3);
end;
n := i;
{ ----------------------- }
menu;
close(f);
end.