Отсортировать записи по цене товара и вывести список товаров указанной фирмы-производителя - 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.

Объяснение кода листинга программы

  1. Создается тип данных dat, который представляет собой запись с полями cod, title, firm, data, cout и price.
  2. Создается переменная arr типа arr, которая представляет собой массив записей типа dat.
  3. Заполняется массив arr с помощью ввода данных от пользователя.
  4. Вызываются процедуры sort_n и sort_s для сортировки массива arr по полям title и price соответственно.
  5. Выводится отсортированный список товаров с помощью цикла for.
  6. Запрашивается фирма-производитель и выводится список товаров этой фирмы с помощью еще одного цикла for.
  7. Код программы завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы