Ввод в программу значений полей очередной записи файла

Главная программа

Выход

Просмотр

Изменение

Добавление

 

При выполнении того или иного пункта меню будет осуществляться вызов соответствующей процедуры.

Вызов соответствующего пункта будет осуществляться после ввода с клавиатуры первого символа нужного пункта меню.

 

 

(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;