Составить программу для получения cведений о имеющихся на складе деталях, цена которых больше заданных
Категория: Delphi/Pascal
2012-01-08 19:39:45
В файле типа 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.
Поделиться: