Р
Рая
Дана задача.Написана программа.Правильно ли?(язык турбо паскаль)
Для группы товаров на складе указаны: наименование, тип товара, срок реализации, цена и количество. Требуется составить отчет по форме: напечатать наименование товара, которого на складе меньше всего, напечатать наименование товаров с истекшим сроком годности, вывести на экран общую стоимость товаров на складе.
Указание: чтобы определить товары с истекшим сроком годности, нужно в начале работы программы запросить текущую дату и номер месяца и, если номер месяца больше указанного в информации о сроке реализации товара или при совпадении номеров месяца текущая дата больше, чем указанная для товара, то товар считается негодным.
Для группы товаров на складе указаны: наименование, тип товара, срок реализации, цена и количество. Требуется составить отчет по форме: напечатать наименование товара, которого на складе меньше всего, напечатать наименование товаров с истекшим сроком годности, вывести на экран общую стоимость товаров на складе.
Указание: чтобы определить товары с истекшим сроком годности, нужно в начале работы программы запросить текущую дату и номер месяца и, если номер месяца больше указанного в информации о сроке реализации товара или при совпадении номеров месяца текущая дата больше, чем указанная для товара, то товар считается негодным.
Код:
program;
const M=7;
type
Node=record
name, tipe: String;
month, date, value, amount : Integer;
end;
var month, date, i, summ, lowest : Integer;
nodes : array[1..M] of Node;
procedure setnode(id, mo, da, va, am:Integer; na, ty:String);
begin
nodes[id].name := na;
nodes[id].tipe := ty;
nodes[id].month := mo;
nodes[id].date := da;
nodes[id].value := va;
nodes[id].amount := am;
end;
procedure fillnodes;
begin
setnode(1,12,10,100,90,'9bloko','frykt');
setnode(2,11,11,30,15,'grycha','frykt');
setnode(3,10,12,50,5,'velosiped','sport inventar');
setnode(4,9,13,2,8,'polirol','rashodnik');
setnode(5,8,14,80,3,'kot','domachnee jivotnoe');
setnode(6,7,15,5,222,'porox','rashodnik');
setnode(7,6,16,16,25,'chtepsel','kover');
end;
begin
writeln('Vvedite tekychyu daty i vrem9:');
read(date);
readln(month);
fillnodes();
summ := 0;
lowest := 1;
for i:=1 to M do
begin
summ := summ + nodes.value*nodes.amount;
if (nodes.month < month) or ((nodes.month=month) and (nodes.date<date)) then
writeln('tovar obvetchal i ne mojet byt prodan: ', nodes.name);
if nodes.amount<nodes[lowest].amount then
lowest := i;
end;
writeln('summa stoimosti tovarov: ', summ);
writeln('ostalos minimalnoe kolichestvo: ', nodes[lowest].name);
readln;
end.
Последнее редактирование: