Главная страница

курсач. Бд проката автомобилей


Скачать 0.97 Mb.
НазваниеБд проката автомобилей
Дата27.02.2019
Размер0.97 Mb.
Формат файлаdocx
Имя файлакурсач.docx
ТипПояснительная записка
#69005
страница4 из 5
1   2   3   4   5

case n of

0:

begin

if (sot = 10) then

begin

writeln('Таблица переполнена. Внести запись невозможно.');

readkey;

exit;

end;

write('Введите код сотрудника: '); readln(sotmas[sot].nosot);

write('Введите ФИО: '); readln(sotmas[sot].fio);

write('Введите возраст: '); readln(sotmas[sot].age);

write('Введите пол: '); readln(sotmas[sot].pol);

write('Введите адрес: '); readln(sotmas[sot].adres);

write('Введите номер телефона: '); readln(sotmas[sot].phone);

write('Введите номер паспорта: '); readln(sotmas[sot].pasport);

write('Введите код должности: '); readln(sotmas[sot].nodol);

sot:=sot+1;

end;

1:

begin

if (dol = 5) then

begin

writeln('Таблица переполнена. Внести запись невозможно.');

readkey;

exit;

end;

write('Введите код должности: '); readln(dolmas[dol].nodol);

write('Введите наименование должности: '); readln(dolmas[dol].dolname);

write('Введите оклад: '); readln(dolmas[dol].oklad);

write('Введите обязаности: '); readln(dolmas[dol].obyazanosti);

write('Введите требования: '); readln(dolmas[dol].trebovaniya);

dol:=dol+1;

end;

2:

begin

if (mark = 5) then

begin

writeln('Таблица переполнена. Внести запись невозможно.');

readkey;

exit;

end;

write('Введите код марки автомобиля: '); readln(markmas[mark].nomark);

write('Введите наименование: '); readln(markmas[mark].markname);

write('Введите технические характеристики: '); readln(markmas[mark].techchar);

write('Введите описание: '); readln(markmas[mark].opisanie);

mark:=mark+1;

end;

3:

begin

if (usl = 5) then

begin

writeln('Таблица переполнена. Внести запись невозможно.');

readkey;

exit;

end;

write('Введите код доп. услуги: '); readln(uslmas[usl].nousl);

write('Введите наименование: '); readln(uslmas[usl].uslname);

write('Введите описание: '); readln(uslmas[usl].opisanie);

write('Введите цену: '); readln(uslmas[usl].uslcena);

usl:=usl+1;

end;

4:

begin

if (avto = 10) then

begin

writeln('Таблица переполнена. Внести запись невозможно.');

readkey;

exit;

end;

write('Введите код автомобиля: '); readln(avtomas[avto].noavto);

write('Введите код марки: '); readln(avtomas[avto].nomark);

write('Введите номер кузова: '); readln(avtomas[avto].cuznum);

write('Введите номер двигателя: '); readln(avtomas[avto].dvignum);

write('Введите год выпуска: '); readln(avtomas[avto].godvip);

write('Введите пробег: '); readln(avtomas[avto].probeg);

write('Введите цену автомобиля: '); readln(avtomas[avto].avtcena);

write('Введите цену дня пробега: '); readln(avtomas[avto].daycena);

write('Введите дату последнего ТО: '); readln(avtomas[avto].dto);

write('Введите код сотрудника-механика: '); readln(avtomas[avto].nosot);

write('Введите специальные отметки: '); readln(avtomas[avto].specmark);

write('Введите отметку о возврате ("+" или "-"): '); readln(avtomas[avto].vozv);

avto:=avto+1;

end;

5:

begin

if (cli = 5) then

begin

writeln('Таблица переполнена. Внести запись невозможно.');

readkey;

exit;

end;

write('Введите код клиента: '); readln(climas[cli].nocli);

write('Введите ФИО: '); readln(climas[cli].fio);

write('Введите пол: '); readln(climas[cli].pol);

write('Введите дату рождения: '); readln(climas[cli].dr);

write('Введите адрес: '); readln(climas[cli].adres);

write('Введите телефон: '); readln(climas[cli].phone);

write('Введите паспортные данные: '); readln(climas[cli].pasport);

cli:=cli+1;

end;

6:

begin

if (prok = 10) then

begin

writeln('Таблица переполнена. Внести запись невозможно.');

readkey;

exit;

end;

write('Введите дату выдачи: '); readln(prokmas[prok].datavid);

write('Введите срок: '); readln(prokmas[prok].srok);

write('Введите дату возврата: '); readln(prokmas[prok].datavoz);

write('Введите код автомобиля: '); readln(prokmas[prok].noavto);

write('Введите код клиента: '); readln(prokmas[prok].nocli);

write('Введите код услуги 1: '); readln(prokmas[prok].nousl1);

write('Введите код услуги 2: '); readln(prokmas[prok].nousl2);

write('Введите код услуги 3: '); readln(prokmas[prok].nousl3);

write('Введите цену проката: '); readln(prokmas[prok].price);

write('Введите отметку об оплате ("+" или "-"): '); readln(prokmas[prok].oplata);

write('Введите код сотрудника: '); readln(prokmas[prok].nosot);

prok:=prok+1;

end;

end;

clrscr;

writeln('Запись добавлена, нажмите любую клавишу для продолжения');

readkey;

end;
end.

Модуль вывода таблицы на экран

unit viv;

interface

procedure print_table(n: byte); //вывод таблицы на экран
implementation

uses types,crt;

procedure print_table(n: byte); //вывод таблицы на экран

var

i: byte; //счетчик

begin

clrscr;

case n of

0:

begin

if (sot = 0) then

begin

writeln('Таблица не содержит данных');

readkey;

exit;

end;

write('__________'); for i:= 0 to sot-1 do write('_________________________________________'); writeln();

write('| Код с.|'); for i:= 0 to sot-1 do write(sotmas[i].nosot:40, '|'); writeln();

write('| ФИО|'); for i:= 0 to sot-1 do write(sotmas[i].fio:40, '|'); writeln();

write('| Возраст|'); for i:= 0 to sot-1 do write(sotmas[i].age:40, '|'); writeln();

write('| Пол|'); for i:= 0 to sot-1 do write(sotmas[i].pol:40, '|'); writeln();

write('| Адрес|'); for i:= 0 to sot-1 do write(sotmas[i].adres:40, '|'); writeln();

write('| Телефон|'); for i:= 0 to sot-1 do write(sotmas[i].phone:40, '|'); writeln();

write('| Паспорт|'); for i:= 0 to sot-1 do write(sotmas[i].pasport:40, '|'); writeln();

write('| Код д.|'); for i:= 0 to sot-1 do write(sotmas[i].nodol:40, '|'); writeln();

write('|________|'); for i:= 0 to sot-1 do write('________________________________________|'); writeln();

end;

1:

begin

if (dol = 0) then

begin

writeln('Таблица не содержит данных');

readkey;

exit;

end;

write('_______________'); for i:= 0 to dol-1 do write('_______________________________'); writeln();

write('| Код д.|'); for i:= 0 to dol-1 do write(dolmas[i].nodol:30, '|'); writeln();

write('| Наименование|'); for i:= 0 to dol-1 do write(dolmas[i].dolname:30, '|'); writeln();

write('| Оклад|'); for i:= 0 to dol-1 do write(dolmas[i].oklad:30, '|'); writeln();

write('| Обязанности|'); for i:= 0 to dol-1 do write(dolmas[i].obyazanosti:30, '|'); writeln();

write('| Требования|'); for i:= 0 to dol-1 do write(dolmas[i].trebovaniya:30, '|'); writeln();

write('|_____________|'); for i:= 0 to dol-1 do write('______________________________|'); writeln();

end;

2:

begin

if (mark = 0) then

begin

writeln('Таблица не содержит данных');

readkey;

exit;

end;

write('_________________'); for i:= 0 to mark-1 do write('_______________________________'); writeln();

write('| Код м.|'); for i:= 0 to mark-1 do write(markmas[i].nomark:30, '|'); writeln();

write('| Наименование|'); for i:= 0 to mark-1 do write(markmas[i].markname:30, '|'); writeln();

write('| Технич. хар-ки|'); for i:= 0 to mark-1 do write(markmas[i].techchar:30, '|'); writeln();

write('| Описание|'); for i:= 0 to mark-1 do write(markmas[i].opisanie:30, '|'); writeln();

write('|_______________|'); for i:= 0 to mark-1 do write('______________________________|'); writeln();

end;

3:

begin

if (usl = 0) then

begin

writeln('Таблица не содержит данных');

readkey;

exit;

end;

write('_______________'); for i:= 0 to usl-1 do write('_______________________________'); writeln();

write('| Код усл.|'); for i:= 0 to usl-1 do write(uslmas[i].nousl:30, '|'); writeln();

write('| Наименование|'); for i:= 0 to usl-1 do write(uslmas[i].uslname:30, '|'); writeln();

write('| Описание|'); for i:= 0 to usl-1 do write(uslmas[i].opisanie:30, '|'); writeln();

write('| Цена|'); for i:= 0 to usl-1 do write(uslmas[i].uslcena:30, '|'); writeln();

write('|_____________|'); for i:= 0 to usl-1 do write('______________________________|'); writeln();

end;

4:

begin

if (avto = 0) then

begin

writeln('Таблица не содержит данных');

readkey;

exit;

end;

write('________________'); for i:= 0 to avto-1 do write('_______________________________'); writeln();

write('| Код авто|'); for i:= 0 to avto-1 do write(avtomas[i].noavto:30, '|'); writeln();

write('| Код марки|'); for i:= 0 to avto-1 do write(avtomas[i].nomark:30, '|'); writeln();

write('| Рег. номер|'); for i:= 0 to avto-1 do write(avtomas[i].regnum:30, '|'); writeln();

write('| Номер кузова|'); for i:= 0 to avto-1 do write(avtomas[i].cuznum:30, '|'); writeln();

write('| Номер двиг.|'); for i:= 0 to avto-1 do write(avtomas[i].dvignum:30, '|'); writeln();

write('| Год вып.|'); for i:= 0 to avto-1 do write(avtomas[i].godvip:30, '|'); writeln();

write('| Пробег|'); for i:= 0 to avto-1 do write(avtomas[i].probeg:30, '|'); writeln();

write('| Цена авто|'); for i:= 0 to avto-1 do write(avtomas[i].avtcena:30, '|'); writeln();

write('| Цена дня|'); for i:= 0 to avto-1 do write(avtomas[i].daycena:30, '|'); writeln();

write('| Цена дня|'); for i:= 0 to avto-1 do write(avtomas[i].dto:30, '|'); writeln();

write('| Код мех.|'); for i:= 0 to avto-1 do write(avtomas[i].nosot:30, '|'); writeln();

write('| Спец. отметки|'); for i:= 0 to avto-1 do write(avtomas[i].specmark:30, '|'); writeln();

write('| Отм. о возвр.|'); for i:= 0 to avto-1 do write(avtomas[i].vozv:30, '|'); writeln();

write('|______________|'); for i:= 0 to avto-1 do write('______________________________|'); writeln();

end;

5:

begin

if (cli = 0) then

begin

writeln('Таблица не содержит данных');

readkey;

exit;

end;

write('____________'); for i:= 0 to cli-1 do write('________________________________________'); writeln();

write('| Код к.|'); for i:= 0 to cli-1 do write(climas[i].nocli:40, '|'); writeln();

write('| ФИО|'); for i:= 0 to cli-1 do write(climas[i].fio:40, '|'); writeln();

write('| Пол|'); for i:= 0 to cli-1 do write(climas[i].pol:40, '|'); writeln();

write('| Дата рож.|'); for i:= 0 to cli-1 do write(climas[i].dr:40, '|'); writeln();

write('| Адрес|'); for i:= 0 to cli-1 do write(climas[i].adres:40, '|'); writeln();

write('| Телефон|'); for i:= 0 to cli-1 do write(climas[i].phone:40, '|'); writeln();

write('| Паспорт|'); for i:= 0 to cli-1 do write(climas[i].pasport:40, '|'); writeln();

write('|__________|'); for i:= 0 to cli-1 do write('_______________________________________|'); writeln();

end;

6:

begin

if (prok = 0) then

begin

writeln('Таблица не содержит данных');

readkey;

exit;

end;

write('______________'); for i:= 0 to prok-1 do write('__________'); writeln();

write('| Дата выдачи|'); for i:= 0 to prok-1 do write(prokmas[i].datavid:10, '|'); writeln();

write('| Срок|'); for i:= 0 to prok-1 do write(prokmas[i].srok:10, '|'); writeln();

write('| Дата возвр.|'); for i:= 0 to prok-1 do write(prokmas[i].datavoz:10, '|'); writeln();

write('| Код ав.|'); for i:= 0 to prok-1 do write(prokmas[i].noavto:10, '|'); writeln();

write('| Код кл.|'); for i:= 0 to prok-1 do write(prokmas[i].nocli:10, '|'); writeln();

write('| Код ус.1|'); for i:= 0 to prok-1 do write(prokmas[i].nousl1:10, '|'); writeln();

write('| Код ус.2|'); for i:= 0 to prok-1 do write(prokmas[i].nousl2:10, '|'); writeln();

write('| Код ус.3|'); for i:= 0 to prok-1 do write(prokmas[i].nousl3:10, '|'); writeln();

write('| Цена прок.|'); for i:= 0 to prok-1 do write(prokmas[i].price:10, '|'); writeln();

write('| Оплата|'); for i:= 0 to prok-1 do write(prokmas[i].oplata:10, '|'); writeln();

write('| Код сот.|'); for i:= 0 to prok-1 do write(prokmas[i].nosot:10, '|'); writeln();

write('|____________|'); for i:= 0 to prok-1 do write('__________|'); writeln();

end;

end;

readkey;

end;
end.

Модули фильтров

unit fil1;//фильтр 1
interface

procedure f1; //отображение сотрудников отдельных должностей

implementation

uses types,crt;

procedure f1;

var

str: string; //хранит запрошенную должность

i: byte; //счетчик

x: integer; //хранит код должности

ots: boolean; //флаг присутствия должности

begin

clrscr;

if (dol = 0) then

begin

writeln('Ошибка: таблица "Должности" не содержит данных');

readkey;

exit;

end;

if (sot = 0) then

begin

writeln('Ошибка: таблица "Сотрудники" не содержит данных');

readkey;

exit;

end;

write('Введите наименование должности: '); readln(str);

ots:=false;

//нахождение кода требуемой должности

for i:=0 to dol-1 do

if (dolmas[i].dolname = str) then

begin

x:=dolmas[i].nodol;

ots:=true; //должность найдена

break;

end;

//нахождение соответствий кода должности в таблице сотрудников и вывод на экран

if ots then //если должность была найдена

begin

write('__________'); for i:= 0 to sot - 1 do if (x = sotmas[i].nodol) then write('_________________________________________'); writeln();

write('| Код с.|'); for i:= 0 to sot - 1 do if (x = sotmas[i].nodol) then write(sotmas[i].nosot:40, '|'); writeln();

write('| ФИО|'); for i:= 0 to sot - 1 do if (x = sotmas[i].nodol) then write(sotmas[i].fio:40, '|'); writeln();

write('| Возраст|'); for i:= 0 to sot - 1 do if (x = sotmas[i].nodol) then write(sotmas[i].age:40, '|'); writeln();

write('| Пол|'); for i:= 0 to sot - 1 do if (x = sotmas[i].nodol) then write(sotmas[i].pol:40, '|'); writeln();

write('| Адрес|'); for i:= 0 to sot - 1 do if (x = sotmas[i].nodol) then write(sotmas[i].adres:40, '|'); writeln();

write('| Телефон|'); for i:= 0 to sot - 1 do if (x = sotmas[i].nodol) then write(sotmas[i].phone:40, '|'); writeln();

write('| Паспорт|'); for i:= 0 to sot - 1 do if (x = sotmas[i].nodol) then write(sotmas[i].pasport:40, '|'); writeln();

write('| Код д.|'); for i:= 0 to sot - 1 do if (x = sotmas[i].nodol) then write(sotmas[i].nodol:40, '|'); writeln();

write('|________|'); for i:= 0 to sot - 1 do if (x = sotmas[i].nodol) then write('________________________________________'); writeln('|');

end

else writeln('Должность не найдена');

readkey;

end;

end.

unit fil2;//фильтр 2
interface

procedure f2; //отображение автомобилей отдельных марок

implementation

uses types,crt;

procedure f2;

var

str: string; //хранит запрошенную марку автомобиля

i: byte; //счетчик

x: integer; //хранит код марки

ots: boolean; //флаг присутствия марки

begin

clrscr;

if (mark = 0) then

begin

writeln('Ошибка: таблица "Марки автомобилей" не содержит данных');

readkey;

exit;

end;

if (avto = 0) then

begin

writeln('Ошибка: таблица "Автомобили" не содержит данных');

readkey;

exit;

end;

write('Введите марку автомобиля: '); readln(str);

ots:=false;

//нахождение кода требуемой марки

for i:=0 to mark-1 do

if (markmas[i].markname = str) then

begin

x:=markmas[i].nomark;

ots:=true; //марка найдена

break;

end;

//нахождение соответствий кода марки в таблице автомобилей и вывод на экран

if ots then //если марка автомобиля была найдена

begin

write('________________'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write('_______________________________'); writeln();

write('| Код авто|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write(avtomas[i].noavto:30, '|'); writeln();

write('| Код марки|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write(avtomas[i].nomark:30, '|'); writeln();

write('| Рег. номер|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write(avtomas[i].regnum:30, '|'); writeln();

write('| Номер кузова|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write(avtomas[i].cuznum:30, '|'); writeln();

write('| Номер двиг.|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write(avtomas[i].dvignum:30, '|'); writeln();

write('| Год вып.|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write(avtomas[i].godvip:30, '|'); writeln();

write('| Пробег|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write(avtomas[i].probeg:30, '|'); writeln();

write('| Цена авто|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write(avtomas[i].avtcena:30, '|'); writeln();

write('| Цена дня|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write(avtomas[i].daycena:30, '|'); writeln();

write('| Цена дня|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write(avtomas[i].dto:30, '|'); writeln();

write('| Код мех.|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write(avtomas[i].nosot:30, '|'); writeln();

write('| Спец. отметки|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write(avtomas[i].specmark:30, '|'); writeln();

write('| Отм. о возвр.|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write(avtomas[i].vozv:30, '|'); writeln();

write('|______________|'); for i:= 0 to avto - 1 do if (x = avtomas[i].nomark) then write('______________________________|'); writeln();

end

else writeln('Марка автомобиля не найдена');

readkey;

end;

end.

unit fil3;//фильтр 3
interface

procedure f3; //отображения автомобилей, находящихся и не находящихся в прокате

implementation

uses types,crt;

procedure f3;

var

str: string; //хранит выбор по запросу

i,j: byte; //счетчики

p,t: boolean; //признаки

arr: array [0..9] of boolean;

begin

clrscr;
if (avto = 0) then

begin

writeln('Ошибка: таблица "Автомобили" не содержит данных');

readkey;

exit;

end;

if (prok = 0) then

begin

writeln('Ни один автомобиль не находится в прокате');

readkey;

exit;

end;

write('Введите "в прокате", если хотите получить авто, находящиеся в прокате и "не в прокате" в противном случае: '); readln(str);

if (str = 'в прокате') then t:=true

else if (str = 'не в прокате')then t:=false

else

begin

writeln('Некорректный ввод');

readkey;

exit;

end;

for i:=0 to avto-1 do

begin

p:=false;

for j:=0 to prok-1 do

if (prokmas[j].noavto = avtomas[i].noavto) then

begin

p:=true;

break;

end;

if p = t then arr[i]:=true;
end;

write('________________'); for i:= 0 to avto - 1 do if arr[i] then write('_______________________________'); writeln();

write('| Код авто|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].noavto:30, '|'); writeln();

write('| Код марки|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].nomark:30, '|'); writeln();

write('| Рег. номер|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].regnum:30, '|'); writeln();

write('| Номер кузова|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].cuznum:30, '|'); writeln();

write('| Номер двиг.|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].dvignum:30, '|'); writeln();

write('| Год вып.|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].godvip:30, '|'); writeln();

write('| Пробег|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].probeg:30, '|'); writeln();

write('| Цена авто|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].avtcena:30, '|'); writeln();

write('| Цена дня|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].daycena:30, '|'); writeln();

write('| Цена дня|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].dto:30, '|'); writeln();

write('| Код мех.|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].nosot:30, '|'); writeln();

write('| Спец. отметки|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].specmark:30, '|'); writeln();

write('| Отм. о возвр.|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].vozv:30, '|'); writeln();

write('|______________|'); for i:= 0 to avto - 1 do if arr[i] then write('______________________________|'); writeln();

readkey;

end;

end.

unit fil4;//фильтр 4
interface

procedure f4; //отображение автомобилей, выданных и возвращённых в определённую дату

implementation

uses types,crt;

procedure f4;

var

crit,str: string; //хранит критерий фильтра и запрошенную дату

i,j: byte; //счетчики

q: integer; //счётчик найдённых авто

x: array[0..9] of integer; //хранит коды автомобилей

begin

clrscr;

if (prok = 0) then

begin

writeln('Ошибка: таблица "Прокат" не содержит данных');

readkey;

exit;

end;

if (avto = 0) then

begin

writeln('Ошибка: таблица "Автомобили" не содержит данных');

readkey;

exit;

end;

write('Укажите,критерий поиска авто - "выдача" или "возврат": '); readln(crit);

if (crit = 'выдача') then

begin

q:=-1;

write('Введите дату выдачи: '); readln(str);

//нахождение кодов авто с указанной датой выдачи

for i:=0 to prok-1 do

if (prokmas[i].datavid = str) then

begin

inc(q);

x[q]:=prokmas[i].noavto;

end;

if (q=-1) then

begin

writeln('Автомобили,выданные в указанную дату не найдены');

readkey;

exit;

end;

end

else if (crit = 'возврат') then

begin

write('Введите дату возврата: '); readln(str);

q:=-1;

//нахождение кода авто с указанной датой возврата

for i:=0 to prok-1 do

if (prokmas[i].datavoz = str) then

begin

inc(q);

x[q]:=prokmas[i].noavto;

end;

if (q=-1) then

begin

writeln('Автомобили,возвращённые в указанную дату не найдены');

readkey;

exit;

end;

end

else

begin

writeln('Некорректный ввод');

readkey;

exit;

end;

for j:= 0 to q do

begin

write('________________'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write('______________________________'); writeln();

write('| Код авто|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write(avtomas[i].noavto:30, '|'); writeln();

write('| Код марки|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write(avtomas[i].nomark:30, '|'); writeln();

write('| Рег. номер|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write(avtomas[i].regnum:30, '|'); writeln();

write('| Номер кузова|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write(avtomas[i].cuznum:30, '|'); writeln();

write('| Номер двиг.|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write(avtomas[i].dvignum:30, '|'); writeln();

write('| Год вып.|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write(avtomas[i].godvip:30, '|'); writeln();

write('| Пробег|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write(avtomas[i].probeg:30, '|'); writeln();

write('| Цена авто|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write(avtomas[i].avtcena:30, '|'); writeln();

write('| Цена дня|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write(avtomas[i].daycena:30, '|'); writeln();

write('| Цена дня|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write(avtomas[i].dto:30, '|'); writeln();

write('| Код мех.|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write(avtomas[i].nosot:30, '|'); writeln();

write('| Спец. отметки|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write(avtomas[i].specmark:30, '|'); writeln();

write('| Отм. о возвр.|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write(avtomas[i].vozv:30, '|'); writeln();

write('|______________|'); for i:= 0 to avto - 1 do if (x[j] = avtomas[i].noavto) then write('______________________________|'); writeln();

end;
readkey;

end;

end.

unit fil5;//фильтр 5
interface

procedure f5; //отображение оплаченных и не оплаченных автомобилей в прокате

implementation

uses types,crt;

procedure f5;

var

str: string; //хранит выбор по запросу

i,j: byte; //счетчики

t,p: boolean; //признаки

arr: array [0..9] of boolean;

begin

clrscr;

if (prok = 0) then

begin

writeln('Ошибка: таблица "Прокат" не содержит данных');

readkey;

exit;

end;

if (avto = 0) then

begin

writeln('Ошибка: таблица "Автомобили" не содержит данных');

readkey;

exit;

end;

write('Введите "опл",если хотите посмотреть оплаченные авто в прокате и "неопл" в противоположном случае: '); readln(str);

if (str = 'опл') then t:=true

else if (str = 'неопл')then t:=false

else

begin

writeln('Некорректный ввод');

readkey;

exit;

end;

for i:=0 to prok-1 do

begin

if (prokmas[i].oplata = '+') then p:=true else p:=false;

if (p <> t) then continue;

for j:=0 to avto-1 do

if (prokmas[i].noavto = avtomas[j].noavto) then arr[j]:=true;

end;

write('________________'); for i:= 0 to avto - 1 do if arr[i] then write('_______________________________'); writeln();

write('| Код авто|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].noavto:30, '|'); writeln();

write('| Код марки|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].nomark:30, '|'); writeln();

write('| Рег. номер|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].regnum:30, '|'); writeln();

write('| Номер кузова|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].cuznum:30, '|'); writeln();

write('| Номер двиг.|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].dvignum:30, '|'); writeln();

write('| Год вып.|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].godvip:30, '|'); writeln();

write('| Пробег|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].probeg:30, '|'); writeln();

write('| Цена авто|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].avtcena:30, '|'); writeln();

write('| Цена дня|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].daycena:30, '|'); writeln();

write('| Цена дня|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].dto:30, '|'); writeln();

write('| Код мех.|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].nosot:30, '|'); writeln();

write('| Спец. отметки|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].specmark:30, '|'); writeln();

write('| Отм. о возвр.|'); for i:= 0 to avto - 1 do if arr[i] then write(avtomas[i].vozv:30, '|'); writeln();

write('|______________|'); for i:= 0 to avto - 1 do if arr[i] then write('______________________________|'); writeln();

readkey;

end;

end.
1   2   3   4   5


написать администратору сайта