Программа по учету товаров на складе
Аннотация
Данная работа была выполнена на
языке Pascal. Паскаль
(англ.
<#"587362.files/image001.gif">
Процедура создания базы данных
Процедура вывода базы данных на экран
Процедура, меняющая элементы базы данных местами
Процедура добавления записи
Процедура сортировки методом «пузырька»
Процедура удаления записи
Процедура поиска записи в базе данных по
наименованию диска
program diski;
uses
crt;
type
spisok = record
vt: string;: integer;: string;:
integer;
end;
procedure Sozd(var
mas: array of spisok; qty: integer);//создание
массива
var
i: integer;: spisok;
begin
setlength(mas, qty);
for i
:= 0 to high(mas) do
begin
write('Наименование диска: ');
readln(zk.vt);('Цена:');
readln(zk.nm);('Производитель:');(zk.dvm);('Количество
на складе:');
readln(zk.no);;[i].vt :=
zk.vt;[i].nm := zk.nm;[i].dvm := zk.dvm;[i].no := zk.no;
end;
end;
procedure vyvod(mas:
array of spisok);//вывод
массива
var
i: integer;
begin
writeln('==============================================');
writeln('№| Наименование диска| Цена |
Производитель | Количество на складе');
writeln('==============================================');
for i
:= 0 to high(mas) do
write(i);(' ');(mas[i].vt);(mas[i].nm:22);(mas[i].dvm:16);(mas[i].no:15);;('==============================================');
end;
end;
procedure swap(var
x, y: string);//процедура
замены
элементов
местами
var
t: string;
begin
t := x;:= y;:= t
end;
procedure sort(mas:
array of spisok);//сортировка
var
i, j: integer;
beginj
:= 1 to high(mas) doi := 0 to high(mas) - j do(mas[i].nm
> mas[i + 1].nm) and (mas[i].nm <> 0) then
swap(mas[i].nm, mas[i +
1].nm);(mas[i].vt, mas[i + 1].vt);(mas[i].dvm, mas[i + 1].dvm);(mas[i].no,
mas[i + 1].no);
end;(mas);
end;
procedure add(var
mas:array of spisok);//добавление
элемента
begin
setlength(mas, length(mas) + 1);('Наименование
диска:
');(mas[high(mas)].vt);('Цена:
');(mas[high(mas)].nm);('Производитель:
');(mas[high(mas)].dvm);
write('Количество на складе: ');
readln(mas[high(mas)].no);;
end;
procedure delete(var
mas:array of spisok);//удаление
записи
var
n: integer;
begin
readln(n);
if (n
<= high(mas)) then
mas[n].vt := '';[n].nm := 0;[n].dvm
:= '';[n].no := 0;
end;(mas[n].nm,
mas[high(mas)].nm);(mas[n].vt, mas[high(mas)].vt);(mas[n].dvm,
mas[high(mas)].dvm);(mas[n].no, mas[high(mas)].no);(mas, length(mas) -
1);(mas);
end;
procedure poisk(
mas:array of spisok);//поиск
по
наименованию
var
i: integer;: string;
begin
writeln('Введите название для поиска');
readln(name);
for i
:= 0 to high(mas) doname = mas[i].vt then
begin
writeln('Совпадение по
Наименованию');('==============================================');('Наименование
диска | Цена | Производитель | Количество на складе');
writeln('=============================================');(mas[i].vt);(mas[i].nm:24);(mas[i].dvm:12);(mas[i].no:15);;('==============================================');
end;
end;
end;
Procedure main();
var
z, mt: integer;: array of spisok;
label 10;
begin
clrscr;
:();('1-Создать
новый
список');
writeln('2-Вывести на экран текущий
список');('3-Удалить выбранный элемент');('4-Добавление записи');('5-Поиск по
текущему списку');('6-Сортировка по цене');
writeln('7-выход');(z);
if (mt
= 0) and (z in [2..6]) then
begin
Writeln('Создайте базу данных для начала');
sozd(mas, mt);
end;
if (mt
= 0) and (z = 1) then
begin
writeln('Введите количество элементов списка');
readln(mt);
end;
case z
of
1: begin
writeln('введите количество элементов');
readln(mt);(mas, mt);
end;
: vyvod(mas);
: delete(mas);
: add(mas);
: poisk(mas);
: sort(mas);
: EXIT;
end;
goto 10;;
end;
begin
main();
end
Вывод созданной базы данных на экран. Был указан
размер - 5. Соответственно база данных содержит 5 записей.
Поиск записей в базе данных по наименованию
диска. Был запрос наименование «Кен» - найдено две записи, содержащие данное
наименование.
Через процедуру «4-добавление записи», была добавлена
запись с наименованием «ГОР».
После этого была выведена база данных.
После выбора процедуры «6-сортировка по цене»,
записи были отсортированы по цене в порядке её возрастания. Запись с наименьшей
ценой стоит в начале базы данных, с наибольшей - в конце.
Тестирование программы:
. Ошибка при попытке указать количество
элементов базы данных в виде буквенной записи.
. Ошибки при попытке указать цену или
количество дисков на складе в виде буквенной записи
Использованные источники
программа язык учет база
1.<http://ru.wikipedia.org/wiki/Pascal>
.<http://www.vzmakh.ru/info/pascal/modules/page14.html>
3.
<http://ru.wikipedia.org/wiki/%D0%91%D0%BB%D0%BE%D0%BA-
%D1%81%D1%85%D0%B5%D0%BC%D0%B0>