Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Вывод отчёта из Записи

Автор: Pirate 9.12.2007 3:15


Program lib;
uses crt;
type Books=record
number:integer;
fio:string;
group:string;
home:string;
year:integer;
end;

var
book_file:file of books;
f:file of books;
data:array[1..20] of books;
rec:books;
file_name:string;
key:integer;
exit:boolean;
x:string;

procedure otcet;
var old,c,i:integer;
begin
name_of_file;
assign(book_file,file_name);
{$I-}
reset(book_file);
{$I+}
if IOresult <> 0 then
writeln('File with name '+file_name+' is not')
else
begin
writeln;
writeln('Vvedite tekushii god!');
readln(old);
if old<2007 then writeln('ERROR!')
else
C:=0;
c:=old-18;
i:=0;
while (not eof(book_file)) do
read(book_file,rec);
if rec.year<=old then
with rec do
begin
writeln;
writeln('N ',filepos(book_file),' : ');
writeln('Name of student: ',fio);
writeln('Group of student: ',group);
writeln('old of student ',year);
writeln('Address of student ',home);
end;
end;
end;



Вот как я решил это реализовать но сравнение либо вывод не работает подскажите где ошибка

Автор: Michael_Rybak 9.12.2007 4:16

Приведи пример входных данных, на которых код работает некорректно.

Автор: мисс_граффити 9.12.2007 4:23

думаю, практически на всех..
кроме случая, когда единственная подходящая запись - последняя...

while (not eof(book_file)) do
begin //вот этого не хватает
read(book_file,rec);
if rec.year<=old then
with rec do

ну и end не забудь

Автор: Pirate 9.12.2007 5:01

Огромное спасибо тебе Мисс_Графити! good.gif

Автор: Pirate 13.12.2007 0:52

У меня немного изменились условия нужен также день,месяц,год и также отсортировать