Главная программа
Выход
Просмотр
Изменение
Добавление
При выполнении того или иного пункта меню будет осуществляться вызов соответствующей процедуры.
Вызов соответствующего пункта будет осуществляться после ввода с клавиатуры первого символа нужного пункта меню.
(2) Ввод в программу значений полей очередной записи.
(3) Отображение введенных (или считанных из файла) значений
4) удаление записи;
Над этим надо подумать. Идея. Файл f без записи с удаляемым ключом переносится во временный файл kop. Затем f стирается, а файл kop переименовывается в f.
Алгоритм
- ввод ключа удаляемой записи
- последовательный поиск нужной записи
- если нет, то возврат в главное меню.
- если есть, то отображение содержимого записи
- вывод на экран запроса на подтверждение удаления
- если да, то переписываем все записи кроме удаляемой в вспомога-
тельный файл kop
- основной файл удаляется, а вспомогательный переименовывается
- возврат в главное меню
|
|
Какие еще возможны алгоритмы?
5) добавление записи
Добавление новой записи будем производить в конец файла.
Алгоритм
- запрос и ввод с клавиатуры значений полей новой записи
- отображение и ввод подтверждения на запись в файл
- запись в конец файла
- возврат в главное меню.
6) изменение содержимого записи
Изменять будем только число жителей (следовательно пересортировывать не нужно).
Алгоритм
- ввод ключа изменяемой записи
- последовательный поиск записи
- если есть, то отображение ее и вывод запроса на изменение
- ввод нового значения
- запись в файл нового значения если нет, то возврат в главное меню.
7) Процедура просмотр
- читаем последовательно очередную запись в цикле пока не конец
файла
- отображаем на экране значения полей каждой записи.
8) Процедура открытия основного и дополнительного файлов
9) процедура отображения главного меню.
Приступаем к программированию.
program gorod;
uses crt;
type stadt=record key: Integer; Объявляется набор имен и типов полей записей (например, код города)
name:string[20]; название города
ein:longint; число жителей
kfz:longit; число автомобилей
end;
file_typ = file of stadt; объявление файловой переменной file_typ типа stadt
var kop,f:file_typ; объявление переменных kop,f файлового типа file_typ
n:string[20]; имя файла данных
quit:boolean; нужна для организации меню
procedure lesen(var s:stadt);
begin ввод в программу значений полей очередной записи файла:
clrscr; код, название, число жителей и автомобилей.
writeln('Конец ввода:код = 0');
write('Код: ');readln(s.key);
if s.key <>0 then признаком окончания ввода является ввод нуля
begin
write('Название: ');readln(s.name);
write('Жителей: ');readln(s.ein);
write('Автомобилей: ');readln(s.kfz);
end;
end;