Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ поиск по введённым данным

Автор: 18192123 9.01.2007 15:01

Написать программу, которая позволяет найти нужные сведения в телефонном справочнике. Программа должна запрашивать фамилию человека и выводить его телефон. Если в справочнике есть одинаковые фамилии, то программа должна вывести список всех людей, имеющих эти фамилии.

Я так понимаю: вводим запись с полями фамилия и телефон, формируем массив записей. И как по введённой фамилии найти телефон (равенство полей фамилия и телефон?)

А как в решении использовать файлы?

Автор: Lapp 9.01.2007 15:21

Цитата(18192123 @ 9.01.2007 12:01) *

Я так понимаю: вводим запись с полями фамилия и телефон, формируем массив записей. И как по введённой фамилии найти телефон (равенство полей фамилия и телефон?)

А как в решении использовать файлы?

При чем тут равенсво фамилии и телефона? blink.gif Разве такое бывает?.. "Вова 555-4567, к доске!"- так, что ли?
Проходишь в цикле по всем записям и проверяешь на равентсво поля "Фамилия" в записи массива и введенной по запросу фамилии. Если совпало - выводишь всю запись: Имя, Фамилию и телефон.

Файлы - по назначению. Храни в них базу данных, то есть массив записей. Рекомендую только делать его не типизированным, а текстовым (если противное не оговорено условием).

Автор: klem4 9.01.2007 15:22

Поиск -> Базы данных, телефонный справочник, записи, record ...

http://forum.pascal.net.ru/index.php?showtopic=9198

А что тебе не понятно в поиске в массиве записей по одному из полей ? В твоем случае по имени ...

Автор: volvo 9.01.2007 15:25

Цитата
Рекомендую только делать его не типизированным, а текстовым (если противное не оговорено условием).
Угу... Чтобы усложнить себе жизнь еще больше... ЗАЧЕМ текстовый? Парсить лишний раз строку или немеренно раздувать файл, храня информацию каждого поля на отдельной строке? Чем Typed File нас уже не устраивает?

Автор: Lapp 9.01.2007 15:34

Цитата(volvo @ 9.01.2007 12:25) *

Чем Typed File нас уже не устраивает?

Тем, что в программе (по условию) не предусмотрено создание файла. А написать его в любом текстовом редакторе - секунда. Я не стану возражать, если последует развитие программы.. А если нет? То придется делать средства ввода данных и записи файла.. И зачем, если это не требуется в условии?
Впрочем, допускаю, что уважаемая 18192123 (о! я, кажется, начинаю понимать, почему она хотела проверять равенство фамилии телефону! smile.gif), что уважаемая 18192123 привела условие не полностью (как уже бывало).

Автор: 18192123 9.01.2007 15:42

Спасибо всем за помощь, теперь я всё поняла!


Автор: Гость 29.11.2012 2:43

18. Написать программу, которая позволяет найти нужные сведения в телефонном справочнике (a:\phone.txt). Программа должна запрашивать фамилию человека и выводить его телефон. Если в справочнике есть одинаковые фамилии, то программа должна вывести список всех людей, имеющих эти фамилии. Рекомендуемый вид экрана во время работы программы приведен ниже.
Поиск в телефонном справочнике. Введите фамилию и нажмите <Enter>.
Для завершения работы с программой сразу после приглашения нажмите <Enter>
—> Петров
В справочнике данных о Петров нет.
—> Иванов
Иванов Вася 578-12-45
Иванов Сергей 244-34-02
ПОмогите сделать