Дополнить код процедурами - Free Pascal
Формулировка задачи:
Есть файл, в котором записаны данные из телефонного справочника. Нужно прочесть этот файл, вывести содержимое на экран, а также написать процедуру, которая будет добавлять запись в конец файла и процедуру которая будет искать номер телефона по фамилии
Program Spravochnik; Uses CRT; Var Sprav :Text; s :Char; k :Integer; Begin ClrScr; Assign(Sprav, 'file.txt'); Reset(Sprav); While (NOT EOF(Sprav)) do Begin Read(Sprav, s); Write(s); Inc(k); End; Close(Sprav); readln; End.
Решение задачи: «Дополнить код процедурами»
textual
Листинг программы
program Spravochnik; Uses CRT; var Sprav: Text; s: Char; k: Integer; procedure AppendData(var f: text); var s: string; begin append(f); writeln('Введите данные: '); readln(s); writeln(f, s); close(f); end; procedure FindData(var f: text); var sb, s: string; begin writeln('Введите искомую фамилию: '); readln(sb); reset(f); while not eof(f) do begin readln(f, s); if pos(sb, s, 1) <> 0 then writeln(s); end; close(f); end; begin ClrScr; Assign(Sprav, 'file.txt'); Reset(Sprav); while (not EOF(Sprav)) do begin Read(Sprav, s); Write(s); Inc(k); end; Close(Sprav); appenddata(sprav); finddata(sprav); readln; end.
Объяснение кода листинга программы
- Объединение данных из файла и ввод новых данных Процедура AppendData добавляет данные из файла и новые данные в конец файла. Процедура FindData ищет данные в файле по фамилии.
- Ввод и вывод данных Для ввода данных используется функция readln, для вывода данных используется функция writeln.
- Чтение и запись данных в файл Для чтения и записи данных в файл используется функция readln(f, s) и функция write(s).
- Управление потоком данных Для управления потоком данных используется цикл while not eof(f) do.
- Обработка ошибок Для обработки ошибок используется проверка на конец файла EOF(f).
- Использование функций и переменных
В коде используются следующие функции и переменные:
- функция Assign для присвоения значения переменной Sprav;
- функция Reset для сброса файла Sprav;
- функция Read для чтения данных из файла Sprav;
- переменная s для хранения данных;
- переменная k для подсчета количества прочитанных записей.
- Использование условий и операторов
В коде используются следующие условия и операторы:
- оператор if для проверки наличия искомой фамилии в данных;
- оператор inc для увеличения значения переменной k;
- оператор close для закрытия файла Sprav.