Тема: Файлы
Показать сообщение отдельно
  #1  
Старый 13.05.2008, 22:25
max07 max07 вне форума
Прохожий
 
Регистрация: 13.05.2008
Сообщения: 3
Репутация: 10
По умолчанию Файлы

Здравствуйте . Нужна помощ с редактированием написанной программы(вроде все прально сделал а чет ругается на ошибки, причем на разных машинах разные ошибки ) Нужно сделать чтобы прога 100% работала на делфи и сделать ее с закладками.(у меня без закладок, т.к. ваще хз как их делать не объяснили, а здать надо) Т.е на первой закладке 3 штуки Edit , 2 кнопки , а на второй - 1 кнопка [запуск программы] и один Memo.

Вот задача :
Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл f , содержащий информацию о багаже нескольких пассажиров, информация о багаже каждого отдельного пассажира представляет собой соответствующую пару чисел *) .
Определить, имеются ли 2 пассажира, багаж которых совпадает по числу вещей и различаются по весу не более чем на 0.5 кг.

Вот код:

Код:

Код:
program Project2; 

{$APPTYPE CONSOLE} 

uses 
SysUtils; 

Type 
TBagaje= record 
ThingCount:Cardinal; 
Massa:Double; 
end; 
var 
F1,F2:File of TBagaje; 
Log:Boolean; 
Bag1, Bag2:TBagaje; 
Line1, Line2:Integer; 

begin 
AssignFile(F1, 'B.bag'); 
Reset(F1); 
AssignFile(F2, 'B.bag'); 
Line1:=0; 
log:=False; 
while not eof(F1) do 
begin 
inc(Line1); 
line2:=0; 
Read(F1, Bag1); 
Reset(F2); 
While not eof(F2) do 
begin 
inc(line2); 
Read(F2, Bag2); 
if (Line2<>Line1) and (Bag1.ThingCount=Bag2.ThingCount) and (Abs(Bag1.Massa-Bag2.Massa)<0.5) then 
begin 
log:=true; 
Break; 
end; 
end; 
if Log then Break; 
end; 
CloseFile(f1); 
CloseFile(f2); 
if log then Writeln('Yes') else Writeln('Not'); 
Readln; 

end. 

Записывающий:
Код:

program Project2; 

{$APPTYPE CONSOLE} 

uses 
SysUtils; 

Type 
TBagaje= record 
ThingCount:Cardinal; 
Massa:Double; 
end; 
var 
F:File of TBagaje; 
Bag:TBagaje; 
s:String; 
log:Boolean; 
begin 
AssignFile(F, 'B.bag'); 
Rewrite(F); 
repeat 
writeln('Count?'); 
Readln(bag.ThingCount); 
writeln('Massa?'); 
Readln(bag.Massa); 
writeln('Next (n/y)?'); 
Readln(s); 
Write(F,Bag); 
Until s='n'; 
CloseFile(f); 
end. 

Admin: читай правила форума, пункт 2.8.

И по возможносьти можно выложить все то, что сохранится при нажатии Save (в архиве ). Плз оч надо!
Ответить с цитированием