Поиск в текстовом файле!

Ответить
Straiker
Сообщения: 5
Зарегистрирован: 03 ноя 2008, 17:55

Здравствуйте! Плизз, помогите с задачей, очень нада!

a) Создать ТЕКСТОВЫЙ файл, содержащий сведения о телефонах абонентов: фамилия абонента, год установки телефона, номер телефона.
b) Написать программу, выдающую информацию следующего вида: по вводимой фамилии абонента выдается номер телефона; определяется количество установленных телефонов с **** года. Год вводится с клавиатуры.
Данные в текстовый файл вывести в виде таблицы.


Мне нада тока процедуры, я вот написал по поиску абонента по фамилия, но есть какая то ошибка, посмотрите плиизз!!!

procedure poisk(var f:text);
var fam,st:string;
begin
write ('Poisk*');
writeln;
writeln('-----------------------');
reset(f);
writeln('');
write ('Vvedite familiy: ');
readln(fam);
while not eof(f) do begin
readln (f,st);
if pos(fam,st)>0 then
begin
writeln ('--------------------------------------------------------------------------------');
writeln ('Familia: Nomer: God ustanovki:');
writeln(st);
end;
close(f);
write('Press Enter...');
writeln;
readln;
end;
end;

Напишите плиз процедуру которая определяет количество установленных телефонов с **** года. Год вводится с клавиатуры.!!
dr.Jekill
Сообщения: 526
Зарегистрирован: 03 янв 2009, 23:17
Откуда: Voronezh
Контактная информация:

Вот тебе программка, определяющая количесвто телефонов! - Накидал по-быстрому.
Я думаю под процедуру переделаешь сам!

Кинь сколько не жалко на
Яндекс.Деньги: 41001303040560
или на
WebMoney: R402431119669
или на
на номер +7 951 858 96 76

или сделай отзыв.

uses dos,crt;
var f:text;
st,search:string[80];
name:string;
sum,god,mistake:integer;
i,n:byte;
year,month,day,dayofweek:word;
begin
clrscr;
writeln('Vvedite put i imia faila');
readln(name);
assign(f,name);
write('Vvedite god: ');
readln(search);
val(search,god,mistake);
if mistake>0 then
begin
writeln('God zadan neverno!');
readln;
exit;
end;
GetDate(year,month,day,dayofweek);
n:=year-god;
i:=0;
for i:=1 to n do
begin
reset(f);
god:=god+1;
str(god,search);
repeat
readln(f,st);
if pos(search,st)>0 then sum:=sum+1;
until eof(f)=true;
end;
close(f);
writeln('Posle zadannogo goda podklucheno,(telefonov): ',sum:4);
readln;
end.
Straiker
Сообщения: 5
Зарегистрирован: 03 ноя 2008, 17:55

Спасибо огромное!!!!
Ответить