Во второй массив записать только данные тех из них, кто взял телевизор - Pascal
Формулировка задачи:
. Дан массив данных о клиентах пункта проката: фамилия, имя, отчество, адрес (улица, дом, квартира) и что взял (только один предмет). Во второй массив записать только данные тех из них, кто взял телевизор.
Решение задачи: «Во второй массив записать только данные тех из них, кто взял телевизор»
textual
Листинг программы
type
TName = record
firstName, lastName, patronymic: String[50];
end;
TAddress = record
street: String[50];
building: String[4];
apartment: Word;
end;
TClient = record
name: TName;
address: TAddress;
obj: String;
end;
TArray = Array[Byte] Of TClient;
var
a, b: TArray;
i, na, nb: Byte;
searchParam: String;
begin
repeat
Write('Input client'#39's count =');
ReadLn(na);
until (na > 0);
for i := 0 to na - 1 do
with a[i] do
begin
with name do
begin
Write(#9'First name: '); ReadLn();
Write(#9' Last name: '); ReadLn();
Write(#9'Patronymic: '); ReadLn();
end;
with address do
begin
Write(#9' Street name: '); ReadLn();
Write(#9' Building number: '); ReadLn();
Write(#9'Apartment number: '); ReadLn();
end;
Write(#9'Object: '); ReadLn(obj);
WriteLn('-----');
end;
Write('Input search parameter (some object): '); ReadLn(searchParam);
nb := 0;
for i := 0 to na - 1 do
if (a[i].obj = searchParam)
then
begin
b[nb] := a[i];
Inc(nb);
end;
WriteLn('----------');
for i := 0 to nb - 1 do
with b[i].name do
WriteLn(i + 1, '. ', firstName, ' ', lastName, ' ', patronymic);
end.
Объяснение кода листинга программы
- Объявляются пользовательские типы данных:
TName- запись с полямиfirstName,lastName,patronymicтипа String[50];TAddress- запись с полямиstreetтипа String[50],buildingтипа String[4],apartmentтипа Word;TClient- запись с полямиnameтипа TName,addressтипа TAddress,objтипа String;TArray- массив байтов типа TClient, обозначается какaиb;
- Объявляются переменные:
a,b- массивы типа TClient;i,na,nb- переменные типа Byte;searchParam- переменная типа String;
- Пользователь вводит количество клиентов в массиве
a. - Пользователь вводит данные о клиентах, включая имя, адрес и объект.
- Пользователь вводит искомый параметр поиска (например,
телевизор). - Происходит поиск клиентов, которые взяли тот объект, который соответствует введенному параметру.
- Клиенты, удовлетворяющие поисковому параметру, записываются в массив
b. - Выводятся данные клиентов, соответствующих поисковому параметру, в формате
Имя Фамилия Отчество.