Создать типизированный файл Zarpl.dat, содержащий сведения о заработной плате сотрудников: - № отдела; - ФИО; - сумма к получению. а) обеспечить просмотр файла в табличной форме; б) распечатать ведомость, упорядочив данные по отделам; в) найти отдел с самой высокой средней заработанной платой; г) выбрать и переписать в другой файл сведения о сотрудниках, чья заработанная плата выше заданной. все сделала кроме в
код(Показать/Скрыть)
Program Fail;
Uses Crt;
Type zar=record
otdel:integer;
FIO : string;
summa:integer;
end;
Var s1:zar;
F,G,H: fileof 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);
repeatwith s1 dobegin
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',' ');
whilenot eof(F) dobegin
read(F,a);
writeln(a.otdel:5,' ',a.FIO:10,' ',a.summa:5,' ');
end;
close(f);
writeln;
{b}
reset(F);
For i:=1to filesize(f)-1dobegin
seek(f,0);
For j:=1to filesize(f)-i dobegin
read(F,a);
read(F,b);
if a.otdel>b.otdel thenbegin
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',' ');
whilenot eof(F) dobegin
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:=1to filesize(f) dobegin
read(F,a);
a.otdel:=c;
if a.otdel=c thenbegin
s:=s+a.summa;
k:=k+1;
endelsebegin
sr:=s/k;
write(H,a.otdel,sr);
k:=1;
seek(f,filepos(f)+1);
c:=a.summa;
end;
end;
Close(f);
reset(h);
whilenot eof(h) dobegin
read(h,a);
writeln('Nomer otdela',' ','srednyaya zarplata');
end;
reset(h);
max:=0;
whilenot eof(H) dobegin
read(h,a);
if sr > max thenbegin
max:=sr;
z:=a.otdel;
end;
Writeln('в ',z,'-м отделе самая высокая средняя заработная плата.');
end;
close(h);
{г}
writeln;
reset(f);
reset(g);
Writeln('Vvedite zarplatu dlya novogo faila: ');
readln(x);
whilenot eof(F) dobegin
read(F,a);
If a.summa > x then
write(G, a);
end;
close(F);
close(g);
reset(G);
whilenot eof(G) dobegin
read(G,a);
writeln(a.otdel,' ',a.FIO,' ',a.summa,' ');
end;
close(G)
end.
!
Читаем правила оформления топика! Учимся включать код в соответствующие теги!
Подобные посты/топики с "требованием" решить задачку буду сразу переносить в раздел "Задачи на заказ" для дальнейшего обсуждения цены исполнения.
Но хочу заметить, если есть желание, то на этом форуме можно получить помощь бесплатно - достаточно только показать, что Вы пытались решить (а не скопировать откуда-либо) эту задачу и объясните что именно вызывает у Вас трудность - нужна конкретика трудностей в реализации.
--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно. -------------------- Прежде, чем задать вопрос - Правила :: FAQ :: Поиск