Отсортировать записи по цене товара и вывести список товаров указанной фирмы-производителя - Turbo Pascal
Формулировка задачи:
Программа создает массив записей с данными о продукции на складе фирмы код товара, название товара, фирма-производитель , дата изготовления, количество товара, цена за единицу товара. Отсортировать записи по цене товара и вывести список товаров указанной фирмы-производителя .
Решение задачи: «Отсортировать записи по цене товара и вывести список товаров указанной фирмы-производителя»
textual
Листинг программы
- program pr;
- type
- dat = record
- cod: integer;
- title: string[50];
- firm: string[50];
- data: string[50];
- cout: integer;
- price: integer;
- end;
- arr = array [1..100] of dat;
- procedure sort_n(var m: arr; n: integer); // процедура сортировки названия
- var
- i, j: integer;
- buf: dat;
- begin
- for i := 1 to n - 1 do
- for j := i + 1 to n do
- if m[i].title > m[j].title then
- begin
- buf := m[i];
- m[i] := m[j];
- m[j] := buf;
- end;
- end;
- procedure sort_s(var m: arr; n: integer); // процедура сортировки цены
- var
- i, j: integer;
- buf: dat;
- begin
- for i := 1 to n - 1 do
- for j := i + 1 to n do
- if m[i].price > m[j].price then
- begin
- buf := m[i];
- m[i] := m[j];
- m[j] := buf;
- end;
- end;
- var
- a: arr;
- i, n, temp, j: integer;
- s: string;
- begin
- writeln('Введите количество записей');
- readln(n);
- for i := 1 to n do
- begin
- writeln('Введите код ');
- readln(a[i].cod);
- writeln('Введите название ');
- readln(a[i].title);
- writeln('Введите фирму-производителя');
- readln(a[i].firm);
- writeln('Введите дату изготовления');
- readln(a[i].data);
- writeln('Введите количество ');
- readln(a[i].cout);
- writeln('Введите цену ');
- readln(a[i].price);
- writeln;
- end;
- sort_n(a, n);
- sort_s(a, n);
- writeln('Отсортированный список товаров');
- for j := 1 to n do
- begin
- writeln(a[j].title);
- writeln(a[j].price);
- writeln;
- end;
- writeln;
- writeln('Введите фирму-производителя');
- readln(s);
- writeln('Список товаров фирмы ', s);
- for i := 1 to n do
- if a[i].firm = s then
- begin
- writeln(a[i].title);
- writeln(a[i].cod);
- writeln(a[i].price);
- writeln(a[i].cout);
- writeln(a[i].data);
- writeln;
- end;
- end.
Объяснение кода листинга программы
- Создается тип данных
dat
, который представляет собой запись с полямиcod
,title
,firm
,data
,cout
иprice
. - Создается переменная
arr
типаarr
, которая представляет собой массив записей типаdat
. - Заполняется массив
arr
с помощью ввода данных от пользователя. - Вызываются процедуры
sort_n
иsort_s
для сортировки массиваarr
по полямtitle
иprice
соответственно. - Выводится отсортированный список товаров с помощью цикла
for
. - Запрашивается фирма-производитель и выводится список товаров этой фирмы с помощью еще одного цикла
for
. - Код программы завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д