Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с записями, задачка 
:(
    Опции темы
Ripper
Дата 4.11.2006, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

Репутация: нет
Всего: 23



Вот есть задачка,  меня попросил знакомый человек сюда кинуть. Впринципе я посмотрел немного, там были некоторые явные ошибки (например с begin-end), но все равно программа не работает как надо. Попрошу помочь, потому что сдавать в понедельник. 
добавление и поиск по фамилии абонентов телефонного узла. инфа хранится в файле. сделать с помощью записей.

Код

program asdasd;

{$APPTYPE CONSOLE}

uses
  SysUtils;

label na4, kon;

type list=record
  lamm   :string[15];
  lot4   :string[15];
  ladres :string[15];
  lname  :string[15];
  lc4et  :integer;
  end;
  dmas=array of list;
  var i,j,n, nom, c4et: integer;
      amm,ot4,adres, name, ifam: string[15];
  t:list;
  lst: dmas;
  f: file of list;

begin
 {$I-}
writeln('*** Abonenti telefonnogo yzla ***');
 na4:
  writeln('1.Dobavlenie');
  writeln('2.Poisk');
  writeln('3.Zavershenie raboti');
  read(nom);
 if nom=3 then goto kon;
 if nom=2 then begin
 assign(f,'C:\programs\1.txt');

 reset(f);
 if IOresult<>0 then
  begin
   writeln('Takogo faila net');
   goto kon;
  end;
 repeat
  write('Familiya : ');
  readln;
  readln(ifam);
  i:=1;
  n:=0;
 while not EOF(f)do
  begin
   read(f,t);
    if ifam=t.lamm then
     begin
      writeln(t.lamm,' ',t.lname,' ',t.lot4);
      writeln(t.ladres);
      writeln(t.lc4et);
      writeln;
      n:=1;
     end;
  end;
 until ifam<>'';
 if n=0 then write('svedeniy net');
 close(f);
 goto na4;
 end;


 if nom=1 then
  begin
   assign(f,'C:\1.txt');
   reset(f);
   if ioResult <> 0 then
    begin
     rewrite(f);
     if ioResult <> 0 then
      begin
       writeln('owibka obraweniya k disky');
       goto kon;
      end;
    end;
  j:=1;
 while not EOF(f)do
  begin
   read(f,lst[j]);
   j:=j+1;
   setlength(lst,j);
  end;


 with lst[j] do
 begin

  write('Imya: ');
  readln(lname);
  write('Familiya: ');
  readln(lamm);
  write('Ot4estvo: ');
  readln(lot4);
  write('adres: ');
  readln(ladres);
  write('C4et: ');
  readln(lc4et);

 end;
  close(f);
  rewrite(f);
   for n:=1 to j do
   begin
    write(f,lst[j]);
   end;
 writeln('informaciya dobavlena');
 writeln;
 close(f);

 goto na4;
  end;

 kon:

end.



--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
Zero
Дата 4.11.2006, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(Ripper @  4.11.2006,  20:08 Найти цитируемый пост)
но все равно программа не работает как надо.

Что именно не работает???
PM MAIL ICQ   Вверх
Ripper
Дата 4.11.2006, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

Репутация: нет
Всего: 23



Ну дык, не добавляет запись например. 


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
Zero
Дата 5.11.2006, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Код

setlength(lst,j);

Ты разделом случаем не ошибся... Процедуру динамического выделения памяти паскаль не поддерживает.
PM MAIL ICQ   Вверх
Ripper
Дата 5.11.2006, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

Репутация: нет
Всего: 23



Да?) Хм. ну я работаю в дельфи под коснолью... ммм ну ладно ) спасибо буду знать
Задачу человек решил, ошибка какая то как обычно глупая была) 


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.