Страница 2 из 2

Re: Типизированные файлы(Паскаль).help!

Добавлено: 17 май 2008, 02:02
ромка)
Кто нибудь помогите чайнику

Re: Типизированные файлы(Паскаль).help!

Добавлено: 17 май 2008, 02:27
MOTOCoder
Во вас, чайников-халявщиков, развелось =).
[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' :D isplayMin;
'2' :D isplaySpring;
'3' :D isplayMax;
'0':Halt;
end;

readln;

end.

[/syntax]

Re: Типизированные файлы(Паскаль).help!

Добавлено: 17 май 2008, 16:46
ромка)
Урааа!!Спасибо большое

Re: Типизированные файлы(Паскаль).help!

Добавлено: 21 май 2008, 13:53
ромка)
а как сделать чтобы программа сразу показывала все результаты.а то она показывает только один.например однерку нажал она вывела тебе числа.а я допустим и то и то хочу посмотреть.мне препод сказал переделать :confused:

Re: Типизированные файлы(Паскаль).help!

Добавлено: 21 май 2008, 13:54
ромка)
наверно надо в конце че то изменить

Re: Типизированные файлы(Паскаль).help!

Добавлено: 21 май 2008, 21:13
MOTOCoder
Если нужны все результаты, нужно просто выполнить все процедуры в конце программы.