Составить программу для получения cведений о имеющихся на складе деталях, цена которых больше заданных

В файле типа RECORD хранится информация о наличии на складе запасных частей для ремонта бытовых приборов: наименование детали, количество единиц на складе, цена одной детали, суммарная стоимость деталей каждого наименования, среднемесячная норма потребления. Составить программу для получения сведений о имеющихся на складе деталях, цена которых больше заданных и информации о количестве наименований деталей, среднемесячная норма потребления которых наибольшая.

code: #pascal
Program PascalGuru;
uses crt;
 
type m = record
          name   :string[20];
          kolvo  :integer;
          cena   :real;
          ctoim  :real;
          norma  :real;
         end;
 
var massiv:array[1..50] of m;
    i,n,code,count:integer;
    cenaposle,max:real;
    s:string;
    f:text;
{--------------------------------------------------------}
 
begin
assign (f,'bd31.txt' ); reset (f);
 
i:=0;
while not eof(f) do begin
inc(i);
readln(f,s);
massiv[i].name:=copy(s,1,pos(' ',s)-1 );                  delete(s,1,pos(' ',s) );
val(copy(s,1,pos(' ',s)-1 ),massiv[i].kolvo,code );       delete(s,1,pos(' ',s) );
val(copy(s,1,pos(' ',s)-1 ),massiv[i].cena,code );        delete(s,1,pos(' ',s) );
val(copy(s,1,pos(' ',s)-1 ),massiv[i].ctoim,code );       delete(s,1,pos(' ',s) );
val(s,massiv[i].norma,code);
end;
n:=i;
{--------------------------------------------------------}
writeln('1:');  writeln;
write('Detali, tsena kotoryh bolishe: '); readln(cenaposle);
writeln;
 
for i:=1 to n do
 if massiv[i].cena>cenaposle then
  writeln(massiv[i].name:12,massiv[i].kolvo:5,massiv[i].cena:8:2,massiv[i].ctoim:8:2,massiv[i].norma:8:2);
 
{--------------------------------------------------------}
writeln;writeln('2:'); writeln;
 
max:=massiv[1].norma;
for i:=2 to n do
 if massiv[i].norma>max then max:=massiv[i].norma;
 
count:=0;
for i:=1 to n do
 if massiv[i].norma=max then
  begin
   writeln(massiv[i].name:12,massiv[i].kolvo:5,massiv[i].cena:8:2,massiv[i].ctoim:8:2,massiv[i].norma:8:2);
   inc(count);
  end;
 
writeln;writeln('Kol-vo: ',count);
 
close(f);
readln;
end.      
Поделиться:

Похожие статьи: