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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2009, 15:41   #1
Pasha9
 
Регистрация: 15.03.2009
Сообщений: 3
По умолчанию Работа с файлами. Записи

Дан словарь терминов. Написать программу которая:
-Вводит новые записи
-читает файл в программу
-организует поиск по нужному полю
Вот мой вариант:
Код:
Program fizika;
uses crt;
const filename='C:\Pascal\ter.txt';
type
TTerminInfo=record
  r:string[16];
  t:string[15];
  d:string[50];
end;

var  f:file of TTerminInfo;
     act:byte;
     st:TTerminInfo;
     v:string [30];
     found:boolean;
procedure addzap;
begin
assign(f,filename);
reset(f);
if ioresult<>0 then rewrite(f);
seek(f,filesize(f));
with st do
 repeat
  write ('Vvedite razdel:  ');
  readln(r);
  if r=' ' then break;
  write ('Vvedite termin:  ');
  readln(t);
  if t=' ' then break;
  write ('Vvedite definition:  ');
  readln(d);

  write(f,st);
  until false;
  close(f);
  end;

procedure readtermin;
begin

assign(f,filename);
reset(f);
if ioresult=0 then
with st do
 repeat
writeln('Razdel:  ',r);
writeln('Termin:  ',t);
writeln('definition:  ',d);read(f,st);

until eof(f);
close(f);
end;

procedure findtermin;
var
t:string;
found:boolean;
st:TTerminInfo;
res:string;
begin
write('Vveditr termin:');
readln(res);
If t='' then exit;
assign (f,filename);
reset(f);
found:=false;
If Ioresult=0 then
with st do
while Not Eof(f) do
begin
read(F,st);
if res=t then begin
writeln('wu nawli ');
write (f,st);
end;
end;
close (f);
readln;
end;


Begin

clrscr;
writeln('Menu:');
writeln('1 Dobavit zapisi');
writeln('2 Chitat  slovar');
writeln('3 Poisk po terminu');
writeln('0 Vihod');
readln(act);
case act of
1:addzap;
2:readtermin;
3:findtermin;
0:halt;
end;
end.
Заранее спасибо!
Pasha9 вне форума Ответить с цитированием
Старый 22.03.2009, 16:47   #2
pomoshnic
Форумчанин
 
Аватар для pomoshnic
 
Регистрация: 16.11.2008
Сообщений: 192
По умолчанию

Вроди исправил.
Вот:
Код:
{$i-}
Program fizika;
uses crt;
const filename='C:\Pascal\ter.txt';
type
TTerminInfo=record
  r:string[16];
  t:string[15];
  d:string[50];
end;

var  f:file of TTerminInfo;
     act:byte;
     st:TTerminInfo;
     v:string [30];
     found:boolean;
procedure addzap;
begin
assign(f,filename);
reset(f);
if ioresult<>0 then rewrite(f);
seek(f,filesize(f));
with st do
 repeat
  write ('Vvedite razdel:  ');
  readln(r);
  if r=' ' then break;
  write ('Vvedite termin:  ');
  readln(t);
  if t=' ' then break;
  write ('Vvedite definition:  ');
  readln(d);
  write(f,st);
  Writeln('Dla vyxoda nagmite esc');
  act:=ord(readkey);
  if act=27 then break;
  until false;
  close(f);
  end;

procedure readtermin;
begin

assign(f,filename);
reset(f);
if ioresult=0 then
with st do
 repeat
writeln('Razdel:  ',r);
writeln('Termin:  ',t);
writeln('definition:  ',d);
writeln('----------------');
read(f,st);
until eof(f);
close(f);
readln;
end;

procedure findtermin;
var
st:TTerminInfo;
res:string;
begin
write('Vveditr termin:');
readln(res);
If res='' then exit;
assign (f,filename);
reset(f);
If Ioresult=0 then
with st do
while Not Eof(f) do
begin
read(F,st);
if st.t=res then begin
writeln('wu nawli ');
writeln('Razdel:  ',r);
writeln('Termin:  ',t);
writeln('definition:  ',d);
close(f);
readln;
exit;
end;
end;
close (f);
readln;
end;


Begin
repeat
clrscr;
writeln('Menu:');
writeln('1 Dobavit zapisi');
writeln('2 Chitat  slovar');
writeln('3 Poisk po terminu');
writeln('0 Vihod');
readln(act);
case act of
1:addzap;
2:readtermin;
3:findtermin;
0:halt;
end;
until false;
end.
pomoshnic вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами cr1mson Общие вопросы C/C++ 7 14.01.2009 22:42
Работа с файлами Maksi Фриланс 4 07.06.2008 11:38
Работа с файлами Zenit10 Помощь студентам 2 19.01.2008 09:59
работа с файлами записи..... КиношкА Помощь студентам 6 14.01.2008 16:13
Работа с файлами Acros Помощь студентам 5 14.02.2007 18:40