Поиск в телефонном справочнике - Pascal ABC
Формулировка задачи:
Написать программу, которая позволяет найти нужные сведения в телефонном справочнике (a:\phone.txt). Программа должна запрашивать фамилию человека и выводить его телефон. Если в справочнике есть одинаковые фамилии, то программа должна вывести список всех людей, имеющих эти фамилии. Рекомендуемый вид экрана во время работы программы приведен ниже.
Поиск в телефонном справочнике.
Введите фамилию и нажмите <Enter>. Для завершения работы
с программой сразу после приглашения нажмите <Enter>
—> Петров
В справочнике данных о Петров нет.
никак не могу понять вроде путь указал правильно... но файл постоянно не доступен помогите буду благодарен!
Решение задачи: «Поиск в телефонном справочнике»
textual
Листинг программы
var f: text;
obr,fam,name: string[15];
tel: string[9];
n: integer;
begin
writeln('Поиск в телефонном .справочнике');
if fileexists('D:\phone.txt') then
begin
Assign(f,'D:\phone.txt');
reset (f)
end
else
begin
writeln('Файл D:\phone.txt не доступен');
exit;
end;
write('Фамилия ->') ; readln(obr);
n:=0;
while not EOF(f) do
begin
readln(f,fam);
readln(f,name) ;
readln(f,tel);
if fam = obr then
begin
writeln(fam,' ',name, ' ',tel);
n:=1;
end;
end;
if n = 0 then writeln('Сведений о ' , obr,' нет.');
close(f)
end.
Объяснение кода листинга программы
- Переменная
fустанавливается в файлD:\phone.txt. - Если файл существует, то присваивается значение
f, иначе выводится сообщение об ошибке и программа завершается. - Выводится сообщение «Фамилия ->» и считывается фамилия из файла.
- Переменная
nустанавливается в 0. - Запускается цикл чтения данных из файла до конца файла.
- В каждой итерации цикла считываются данные о фамилии, имени и телефоне.
- Если фамилия совпадает с введенной, то выводится информация о человеке и устанавливается значение
nравным 1. - После окончания цикла выводится сообщение, если не было найдено совпадений.
- Файл закрывается.