Язык-то какой? Если Delphi, как-то так (не проверял): worker = record name : string[20]; manuf : string[20]; salary : integer; end; var fHandler : file of worker; _worker : worker; procedure TForm1.FormCreate(Sender : TObject); begin AssignFile(fHandler, 'workers.dat') if not (FileExists('workers.dat')) then Rewrite(fHandler); end; procedure TForm1.Button1Click(Sender : TObject); var sName, sManuf : string; iSalary : integer; begin Reset(fHandler); sName := Edit1.Text; sManuf := Edit2.Text; iSalary := StrToInt(Edit3.Text); _worker.name := sName; _worker.manuf := sManuf; _worker.salary := iSalary; Write(fHandler, _worker); CloseFile(fHandler); ShowMessage('Entry was added to file!'); end; procedure TForm1.Button2Click(Sender : TObject); var sManuf : string; iSalarySumm, iWorkersCount : integer; begin sManuf := Edit2.Text; iSalarySumm := 0; iWorkersCount := 0; Reset(fHandler); while not (eof(fHandler)) do begin Read(fHandler, _worker); if (_worker.manuf <> sManuf) then continue; inc(iSalarySumm, _worker.salary); inc(iWorkersCount); end; CloseFile(fHandler); ShowMessage('Total salary for ' + sManuf + ' manufactory: ' + IntToStr(iSalarySumm)); ShowMessage('Avg. salary: ' + FloatToStrF((iSalarySumm / iWorkersCount), fffixed, 0, 3)); end;type На форме 3 эдита, 2 баттона. 1й эдит - имя, 2й - название цеха, 3й - зарплата. 1я кнопка - добавляет запись, 2я - ищет в файле инфу по 2му заданию. Ну и эвенты соответствующие назначить.