Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа--МУ.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
164.35 Кб
Скачать

3 Создание типизированного файла

Пример. Предметная область Склад товаров (индивидуальное задание 25) см. раздел 2 ).

Записи о товарах на складе содержат: наименование, штрих-код, цену единицы товара, количество единиц товара.

Запись о товарах на складе – тип данных, который будет использоваться и при создании файла, и при его обработке. Поэтому необходимо, чтобы в обеих программах были описаны и использовались переменные–записи одного и того же типа tovar и файловая переменная одного и того же файлового типа f_tovar (файл записей о товарах).

Следовательно, нужно создать модуль (см. Приложение В) глобальных описаний, содержащий описание этих двух типов.

unit Glob;

interface

type

tovar=record

tname:string[15];

s_cod:string[13];

price:real;

quan:integer

end;

f_tovar=file of tovar;

implementation

end.

Внимание! В модуле глобальных описаний отсутствуют секция реализации (исполняемая часть) и секция инициализации (инициирующая часть вместе со служебным словом begin) (см. Приложение В).

Внимание! Модуль должен быть помещен в файл типа .pas, имя которого совпадает с именем модуля, то есть модуль Glob должен содержаться в файле Glob.pas.

Создание файла с записями о товарах на складе

program create_sklad;

uses Glob; {предложение использования модуля}

var t:tovar; {запись о товаре}

f:f_tovar; {файловая переменная}

name:string; {имя файла на диске}

i,n:integer;

begin

write('Введите имя файла ');

readln(name);

name:=name+'.skd'; {тип файла – skd}

assign(f,name);

rewrite(f);

write('количество товаров ');

readln(n);

for i:=1 to n do {ввод в режиме формуляра – }

with t do {по одной записи}

begin

write('наименование '); readln(tname);

write('штрих-код '); readln(s_cod);

write('цена '); readln(price);

write('количество '); readln(quan);

write(f,t)

end;

close(f);

end.

Замечание

Для описания файловой переменной и имени файла можно также использовать глобальные переменные, поместив их в модуль глобальных описаний. Тогда в описании процедур работы с файлами можно исключить из списка параметров файл и / или его имя.

4 Алгоритмы работы с файлом

4.1 Просмотр записей файла

Пример просмотра записей файла и вывод на экран с их нумерацией для предметной области Склад товаров :

reset(f);

writeln(' № наименование штрих-код цена количество');

n:=0;

while not eof(f)do

with t do

begin

read(f,t);

n:=n+1;

writeln(n:3,tname:15,s_cod:15,price:8:2,quan:6)

end;

close(f);

writeln('количество товаров ',n:28);

Пример результата вывода:

№ наименование штрих-код цена количество

1 пальто 1112225557779 4000.00 100

2 плащ 1112225551118 2000.00 250

3 костюм 1113336662227 3000.00 200

4 брюки 1114445553 1000.00 200

5 юбка 1113335551 1500.00 150

количество товаров 5