Создать типизированный файл Zarpl.dat, содержащий сведения о заработной плате сотрудников: - № отдела; - ФИО; - сумма к получению. а) обеспечить просмотр файла в табличной форме; б) распечатать ведомость, упорядочив данные по отделам; в) найти отдел с самой высокой средней заработанной платой; г) выбрать и переписать в другой файл сведения о сотрудниках, чья заработанная плата выше заданной. все сделала кроме в
код(Показать/Скрыть)
Program Fail; Uses Crt;
Type zar=record otdel:integer; FIO : string; summa:integer; end;
Var s1:zar; F,G,H: file of zar ; x,k,s,z,i,j,c:integer; sr,max:real; a,b:zar; otv:char;
begin ClrScr; Assign(F,'D:/Masha/Zarpl.dat'); rewrite(F); Assign(G,'D:/Masha/sveden.dat'); rewrite(G); Assign(H,'D:/Masha/sveden.dat'); rewrite(H); repeat with s1 do begin writeln('nomer otdela '); readln(otdel); writeln('FIO:'); readln(FIO); writeln('Summa k poluch'); readln(summa); write(F,S1); end; writeln('prodolzhenie - lubaya klavisha'); writeln('zaconchit-n'); readln(otv); until (otv='n') or (otv='N'); close(F); reset(F); writeln; writeln('Nomer otdela',' ',FIO',' ','Summa k poluch',' '); while not eof(F) do begin read(F,a); writeln(a.otdel:5,' ',a.FIO:10,' ',a.summa:5,' '); end; close(f); writeln; {b} reset(F); For i:=1 to filesize(f)-1 do begin seek(f,0); For j:=1 to filesize(f)-i do begin read(F,a); read(F,b); if a.otdel>b.otdel then begin seek(f,filepos(f)-2); write(F,b); write(f,a); end; seek(f,filepos(f)-1); end; end; close(f); reset(f); writeln('Nomer otdela',' ',FIO',' ','Summa k poluch',' '); while not eof(F) do begin read(F,a); writeln(a.otdel:5,' ',a.FIO:10,' ',a.summa:5,' '); end; close(f);
{в} writeln; reset(f); s:=0; k:=0; For i:=1 to filesize(f) do begin read(F,a); a.otdel:=c; if a.otdel=c then begin s:=s+a.summa; k:=k+1; end else begin sr:=s/k; write(H,a.otdel,sr); k:=1; seek(f,filepos(f)+1); c:=a.summa; end; end; Close(f); reset(h); while not eof(h) do begin read(h,a); writeln('Nomer otdela',' ','srednyaya zarplata'); end;
reset(h); max:=0; while not eof(H) do begin read(h,a); if sr > max then begin max:=sr; z:=a.otdel; end; Writeln('в ',z,'-м отделе самая высокая средняя заработная плата.'); end; close(h);
{г} writeln; reset(f); reset(g); Writeln('Vvedite zarplatu dlya novogo faila: '); readln(x); while not eof(F) do begin read(F,a); If a.summa > x then write(G, a); end; close(F); close(g); reset(G); while not eof(G) do begin read(G,a); writeln(a.otdel,' ',a.FIO,' ',a.summa,' '); end; close(G) end.
!
Читаем правила оформления топика! Учимся включать код в соответствующие теги!
APAL
4.06.2013 15:30
М
Подобные посты/топики с "требованием" решить задачку буду сразу переносить в раздел "Задачи на заказ" для дальнейшего обсуждения цены исполнения.
Но хочу заметить, если есть желание, то на этом форуме можно получить помощь бесплатно - достаточно только показать, что Вы пытались решить (а не скопировать откуда-либо) эту задачу и объясните что именно вызывает у Вас трудность - нужна конкретика трудностей в реализации.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.