Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2010, 16:04   #1
Wild_klas
Форумчанин
 
Аватар для Wild_klas
 
Регистрация: 13.10.2010
Сообщений: 109
По умолчанию В чем ошибка? (Файлы, записи) (Delphi/Pascal)

Дан файл F, содержащий сведенья об игрушках: название, стоимость в копейках, и возрастные границы детей, для которых игрушка предназначена. Нужно получить цену самого дорогого конструктора по образцу руб. коп.

Я делал так:
Код:
Type Game = Record
       Name:String[20];
       Price:0..1000000;
       AgeMin:0..4;
       AgeMax:5..12;
     End;
     PriceList=Array [1..7] of Game;
Const
     a:PriceList=((Name:'Kykla';Price:150000;AgeMin:2;AgeMax:7;),
                  (Name:'Konstryktor';Price:195000;AgeMin:2;AgeMax:11;),
                  (Name:'Kybuku';Price:9000;AgeMin:1;AgeMax:11;),
                  (Name:'Konstryktor';Price:210000;AgeMin:2;AgeMax:12;),
                  (Name:'M`yach';Price:250000;AgeMin:2;AgeMax:12;),
                  (Name:'Konstryktor';Price:190000;AgeMin:2;AgeMax:10;),
                  (Name:'Pazlu';Price:8000;AgeMin:2;AgeMax:12;));
Var myFile:File of Game;
    G:game;
    i:integer;
    max:integer;
begin
  Assign(myFile,'f.txt');
  ReWrite(myFile);
    For i:=0 to 7 Do
       Write(MyFile,a[i]);
  CloseFile(myFile);
  FileMode:=fmOpenRead;
     Writeln('-------------------------------------------------------') ;
   Writeln('Name':25,'|','Price':20,'|','AgeMin':4,'|','Agemax':4);
   For i:=1 to 7 do
     Writeln(a[i].Name:25,'|',a[i].Price:20,'|',a[i].AgeMin:7,'|',a[i].Agemax:4);
     Writeln('-------------------------------------------------------') ;
  Reset(MyFile);
  Read(myFile,G);
  CloseFile(myFile);

  max:=0;
    For i:=0 to 7 Do
Begin
       If (G.Name='Konstryktor') and (G.Price > max) Then max:=G.Price;
       End;
     For i:=1 to 7 do
     Writeln(G.Name:25,'|',g.Price:20,'|');
     Writeln('-------------------------------------------------------') ;
   readln;

end.
В итоге у меня вместо вывода самого дорогого конструктора выходит такое:

В чем заключается моя ошибка? В записях я не очень..
Учусь учиться.

Последний раз редактировалось Wild_klas; 21.11.2010 в 18:06.
Wild_klas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi: ошибка записи в StringGrid Sianessa Помощь студентам 3 20.11.2010 01:57
Поиск однофамильцев(Delphi/записи/типизир. файлы) ZotikOsKC Помощь студентам 4 01.06.2010 23:04
Файлы и записи (Pascal) fit Помощь студентам 2 19.12.2009 01:38
Файлы и записи в Delphi Console Application S1av0k Помощь студентам 6 27.11.2009 18:27
Chart (Delphi). В чем ошибка? Chudo4258 Помощь студентам 2 27.03.2009 05:28