Другие языки программирования и технологии

Помогите составить программу на pascal

Тема: Разработка информационно-справочной системы.
Задание
Составить программу согласно варианту задания с разработкой процедур (функций). В программе должно быть предусмотрено главное меню со следующими пунктами, (примерный перечень):
1.Ввод данных (ввод данных с клавиатуры, чтение данных с файла [предусмотреть запись данных в файл, чтение данных из файла]).
2.Обработка данных (добавление и удаление записей)
3.Поиск информации
4.Вывод упорядоченной информации (вывод результатов)
5.Выход из программы.

Справочник:
Структура элемента массива - знакомый: фамилия, номер телефона (5-значный), место жительства - город, улица, дом, квартира.
Определить:
- есть ли в книжке телефон данного человека;
- кому принадлежит данный телефон;
- cписок людей, живущих на данной улице.
вот очень похожая программа, переделай, не получится - пиши
program kniga;
uses crt;
type book=record
nazv: string[20];
god : integer;
avtor:string[15];
end;
var
f:file of book;
i,j,k,n:integer;
w:book;
bib: array[1..100] of book;
nfile:string;

procedure zapis; //*****Запись в файл'***********
begin
clrscr;
writeln('ЗАПИСЬ МАССИВА В ФАЙЛ');
writeln('**********************');
writeln;
write(' ввести имя файла для записи (например kniga или book): ');
readln( nfile);
nfile:=nfile+'.dat';
assign(f,nfile);
rewrite(f);
clrscr;
writeln('ЗАПИСЬ МАССИВА В ФАЙЛ');
writeln('**********************');
writeln;
for i := 1 to N do
write(f,bib[i]);
writeln(' Запись в файл закончена');
close(f);
writeln('Содержимое файла ',nfile);
writeln('************************');
writeln('_______________________________________________');
writeln(' N Название Год выпуска Автор');
writeln('_______________________________________________');
reset(f);
i:=0;
while not eof(f) do begin
read(f,w);
inc(i);
with w do
writeln(i:3,w.nazv:15,w.god:10,w.avtor:13);
end;
writeln('_______________________________________________');
close(f);
readln;
end;

procedure sozd; {*******создание ********}
begin
write('Ввести количесво записей : ');
readln(n);
clrscr;
writeln('СОЗДАНИЕ МАССИВА ЗАПМСЕЙ КНИГ');
writeln('******************************');
for i := 1 to n do begin
writeln('Ввести ',i,' - ю запись');
with bib[i] do begin
write('Введите название книги: ');
readln(nazv);
write('Введите год выпуска: ');
readln(god);
write('Введите фамилию автора: ');
readln(avtor);

end;
end;
writeln('Ввод данных закончен');
// *****сортировка по дате***********
for i := 1 to N-1 do
for j:=i+1 to n do
if bib[i].god > bib[j].god then begin
w:=bib[i]; bib[i]:=bib[j]; bib[j]:=w;
end;
zapis;
end;
procedure prosm; // *****просмотр записей***********
begin
clrscr;
writeln('ПРОСМОТР ЗАПИСЕЙ ИЗ ФАЙЛА');
writeln('***************************');
writeln;
writeln('_______________________________________________');
writeln(' N Название Год выпуска Автор');
writeln('_______________________________________________');
reset(f);
i:=0;
while not eof(f) do begin
read(f,w);
inc(i);
with w do
writeln(i:3,w.nazv:15,w.god:10,w.avtor:13);
end;
close(f);
writeln('_______________________________________________');
writeln('Конец просмотра');
readln;
end;

procedure vibor; //***************Поиск по году выпуска**************
var gv,m:integer;
ff:boolean;
begin
clrscr;
writeln('Поиск книг по году выпуска');
writeln('**************************');
writeln;
write('Ввести год выпуска: ');
readln(gv);
clrscr;
writeln('Поиск по году выпуска ',gv );
writeln('****************************');
Рамазан Рамазан
Рамазан Рамазан
95 951
Лучший ответ
Рамазан Рамазан продолжение
writeln('Поиск по году выпуска ',gv );
writeln('****************************');
writeln;
m:=0;
reset(f);
writeln('_______________________________________________');
writeln(' N Название Год выпуска Автор');
writeln('_______________________________________________');
while not eof(f) do begin
read(f,bib[i]);
with bib[i] do
if god=gv then begin
m:=m+1;
writeln(i:3,nazv:15,god:10,avtor:13);
end;
end;
close(f);
if m=0 then writeln(' Книг с годом выпуска ',gv,' нет');
writeln('_______________________________________________');
writeln;
Айдар Толегенов Не вздумай платить «cublen» - это бывший профайл мошенника Зотикова, который тебе ответил: -РЕШАЕТ НЕВЕРНО ВСЕМ, будет у тебя деньги выпрашивать за решения– кидает тут всех тупо на бабки! Сидит на даче безработный старпёр беззубый импотент С НЕМЫТЫМИ САЛЬНЫМИ ВОЛОСАМИ и кидает студентов!!! Моего друга обул на 320 руб–денег не вернул!!! У этого мошенника Зотикова–cublen - есть еще страницы -ИХ УЖЕ ЗАКРЫЛИ ЗА МОШЕННИЧ-ВО-он с трёх страниц кидает одновременно!!! Имя сменил только.
к сожалению, в чём заключается помощь, ты так и не написал
Павел Павлов
Павел Павлов
50 628
на сайтах фриланса напиши, точно так же и не парь нам мозг скопированным условием задачи.
Duman Manbekov
Duman Manbekov
13 080