Помощь - Поиск - Пользователи - Календарь
Полная версия: Вывод отчёта из Записи
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Pirate

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
Приведи пример входных данных, на которых код работает некорректно.
мисс_граффити
думаю, практически на всех..
кроме случая, когда единственная подходящая запись - последняя...
while (not eof(book_file)) do
begin //вот этого не хватает
read(book_file,rec);
if rec.year<=old then
with rec do

ну и end не забудь
Pirate
Огромное спасибо тебе Мисс_Графити! good.gif
Pirate
У меня немного изменились условия нужен также день,месяц,год и также отсортировать
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.