Типизированные файлы(Паскаль).help!
Кто нибудь помогите чайнику
Во вас, чайников-халявщиков, развелось =).
[syntax='Delphi']
uses
Crt;
Type
TDate=record
D,M,Y:integer;
end;
var
F:File of TDate;
DT,Max:TDate;
N,I:integer;
CH:Char;
Min:integer;
Function Compare(D1,D2:TDate):Boolean;
begin
Compare:=True;
if D1.Y>D2.Y then
begin
Compare:=True;
Exit;
end;
if D1.Y<D2.Y then
begin
Compare:=False;
Exit;
end;
if D1.Y=D2.Y then
begin
if D1.M>D2.M then
begin
Compare:=True;
Exit;
end;
if D1.M<D2.M then
begin
Compare:=False;
Exit;
end;
if D1.M=D2.M then
begin
if D1.D>D2.D then
begin
Compare:=True;
Exit;
end;
if D1.D<D2.D then
begin
Compare:=False;
Exit;
end;
end;
end;
end;
procedure DisplayMin;
begin
Reset(F);
Min:=MaxInt;
while Not Eof(F) do
begin
read(F,DT);
If DT.Y<Min then
Min:=DT.Y;
end;
Close(F);
writeln('Самаый меньший год');
writeln(Min);
end;
procedure DisplaySpring;
begin
Reset(F);
writeln('Весенние даты');
while Not Eof(F) do
begin
read(F,DT);
If DT.M in [3..5] then
writeln(DT.D,':',DT.M,':',DT.Y);
end;
Close(F);
end;
procedure DisplayMax;
begin
Reset(F);
while Not Eof(F) do
begin
read(F,DT);
If Compare(DT,Max) then
Max:=DT;
end;
Close(F);
writeln('Самая поздняя дата');
writeln(Max.D,':',Max.M,':',Max.Y);
end;
begin
Writeln('Введите число дат');
Readln(N);
Assign(F,'E:\Temp\$Data\Dates.bin');
Rewrite(F);
for I:=1 to N do
begin
Writeln('Год');
Readln(DT.Y);
Writeln('Месяц');
ReadLn(DT.M);
WriteLn('Число');
Readln(DT.D);
Write(F,DT);
WriteLn;
end;
Close(F);
Writeln('Выберите действие');
CH:=ReadKey;
Case CH of
'1'
isplayMin;
'2'
isplaySpring;
'3'
isplayMax;
'0':Halt;
end;
readln;
end.
[/syntax]
[syntax='Delphi']
uses
Crt;
Type
TDate=record
D,M,Y:integer;
end;
var
F:File of TDate;
DT,Max:TDate;
N,I:integer;
CH:Char;
Min:integer;
Function Compare(D1,D2:TDate):Boolean;
begin
Compare:=True;
if D1.Y>D2.Y then
begin
Compare:=True;
Exit;
end;
if D1.Y<D2.Y then
begin
Compare:=False;
Exit;
end;
if D1.Y=D2.Y then
begin
if D1.M>D2.M then
begin
Compare:=True;
Exit;
end;
if D1.M<D2.M then
begin
Compare:=False;
Exit;
end;
if D1.M=D2.M then
begin
if D1.D>D2.D then
begin
Compare:=True;
Exit;
end;
if D1.D<D2.D then
begin
Compare:=False;
Exit;
end;
end;
end;
end;
procedure DisplayMin;
begin
Reset(F);
Min:=MaxInt;
while Not Eof(F) do
begin
read(F,DT);
If DT.Y<Min then
Min:=DT.Y;
end;
Close(F);
writeln('Самаый меньший год');
writeln(Min);
end;
procedure DisplaySpring;
begin
Reset(F);
writeln('Весенние даты');
while Not Eof(F) do
begin
read(F,DT);
If DT.M in [3..5] then
writeln(DT.D,':',DT.M,':',DT.Y);
end;
Close(F);
end;
procedure DisplayMax;
begin
Reset(F);
while Not Eof(F) do
begin
read(F,DT);
If Compare(DT,Max) then
Max:=DT;
end;
Close(F);
writeln('Самая поздняя дата');
writeln(Max.D,':',Max.M,':',Max.Y);
end;
begin
Writeln('Введите число дат');
Readln(N);
Assign(F,'E:\Temp\$Data\Dates.bin');
Rewrite(F);
for I:=1 to N do
begin
Writeln('Год');
Readln(DT.Y);
Writeln('Месяц');
ReadLn(DT.M);
WriteLn('Число');
Readln(DT.D);
Write(F,DT);
WriteLn;
end;
Close(F);
Writeln('Выберите действие');
CH:=ReadKey;
Case CH of
'1'

'2'

'3'

'0':Halt;
end;
readln;
end.
[/syntax]
Ни что так не ограничивает фантазию программиста, как компилятор...
а как сделать чтобы программа сразу показывала все результаты.а то она показывает только один.например однерку нажал она вывела тебе числа.а я допустим и то и то хочу посмотреть.мне препод сказал переделать 

наверно надо в конце че то изменить
Если нужны все результаты, нужно просто выполнить все процедуры в конце программы.
Ни что так не ограничивает фантазию программиста, как компилятор...