Среди работников данного предприятия найти тех, чья заработная плата за месяц ниже средней по предприятию, а также распечатать
158
320
Ответы на вопрос:
uses crt;
type rabot=record //объявляем тип-запись с полями по условию
fam:string[20]; //фамилия-строка до 20 символов
dlz:string[20]; //должность, тот же тип
zpl:longint;//зарплата - длинное целое
stz:byte; //стаж - числа от 0 до 255
end;
var sp:array[1..50] of rabot; //массив записей
n,i,k:integer;
sr:real;
begin
clrscr;
write('Введите количество работников:');
readln(n);
writeln('Введите данные о работниках:');
sr:=0;
for i:=1 to n do
begin
writeln('Работник ',i);
with sp[i] do
begin
write('Фамилия: ');readln(fam);
write('Должность: ');readln(dlz);
write('Зарплата: ');readln(zpl);
sr:=sr+zpl;
write('Стаж: ');readln(stz)
end;
end;
sr:=sr/n; //средняя зарплата
clrscr; //очистим экран от ввода
writeln('Данные о работниках:');//выведем список в виде таблицы
writeln('------------------------------------------------------');
writeln('| Фамилия | Должность | Зарплата | Стаж |');
writeln('------------------------------------------------------');
for i:=1 to n do
with sp[i] do
begin
gotoXY(1,whereY);write('| ',fam);//установим курсор в нужную позицию и выведем
gotoXY(17,whereY);write('| ',dlz);
gotoXY(36,whereY);write('|',zpl:8);
gotoXY(47,whereY);write('|',stz:4);
gotoXY(54,whereY);writeln('|');//конец строки, переход на новую
end;
writeln('------------------------------------------------------');
writeln('Press Enter');
readln;
clrscr;//очистим экран
writeln('Средняя зарплата по предприятию=',sr:0:1);//новая таблица
writeln('Данные о работниках, чья зарплата ниже средней:');
writeln('------------------------------------------------------');
writeln('| Фамилия | Должность | Зарплата | Стаж |');
writeln('------------------------------------------------------');
for i:=1 to n do
if sp[i].zpl<sr then //если зарплата меньше средней, выводим
with sp[i] do
begin
gotoXY(1,whereY);write('| ',fam);
gotoXY(17,whereY);write('| ',dlz);
gotoXY(36,whereY);write('|',zpl:8);
gotoXY(47,whereY);write('|',stz:4);
gotoXY(54,whereY);writeln('|');
end;
writeln('------------------------------------------------------');
writeln('Press Enter');
readln;
clrscr; //очистим
writeln('Данные о работниках, чей стаж ,более 10 лет:');//новая таблица
k:=0;
writeln('------------------------------------------------------');
writeln('| Фамилия | Должность | Зарплата | Стаж |');
writeln('------------------------------------------------------');
for i:=1 to n do
if sp[i].stz>10 then //если стаж бодьше 10 лет
begin
k:=1; //фиксируем что есть
with sp[i] do //выводим
begin
gotoXY(1,whereY);write('| ',fam);
gotoXY(17,whereY);write('| ',dlz);
gotoXY(36,whereY);write('|',zpl:8);
gotoXY(47,whereY);write('|',stz:4);
gotoXY(54,whereY);writeln('|');
end;
end;
writeln('------------------------------------------------------');
if k=0 then write('Таких работников нет');
writeln('Press Enter');
readln
end.
type rabot=record //объявляем тип-запись с полями по условию
fam:string[20]; //фамилия-строка до 20 символов
dlz:string[20]; //должность, тот же тип
zpl:longint;//зарплата - длинное целое
stz:byte; //стаж - числа от 0 до 255
end;
var sp:array[1..50] of rabot; //массив записей
n,i,k:integer;
sr:real;
begin
clrscr;
write('Введите количество работников:');
readln(n);
writeln('Введите данные о работниках:');
sr:=0;
for i:=1 to n do
begin
writeln('Работник ',i);
with sp[i] do
begin
write('Фамилия: ');readln(fam);
write('Должность: ');readln(dlz);
write('Зарплата: ');readln(zpl);
sr:=sr+zpl;
write('Стаж: ');readln(stz)
end;
end;
sr:=sr/n; //средняя зарплата
clrscr; //очистим экран от ввода
writeln('Данные о работниках:');//выведем список в виде таблицы
writeln('------------------------------------------------------');
writeln('| Фамилия | Должность | Зарплата | Стаж |');
writeln('------------------------------------------------------');
for i:=1 to n do
with sp[i] do
begin
gotoXY(1,whereY);write('| ',fam);//установим курсор в нужную позицию и выведем
gotoXY(17,whereY);write('| ',dlz);
gotoXY(36,whereY);write('|',zpl:8);
gotoXY(47,whereY);write('|',stz:4);
gotoXY(54,whereY);writeln('|');//конец строки, переход на новую
end;
writeln('------------------------------------------------------');
writeln('Press Enter');
readln;
clrscr;//очистим экран
writeln('Средняя зарплата по предприятию=',sr:0:1);//новая таблица
writeln('Данные о работниках, чья зарплата ниже средней:');
writeln('------------------------------------------------------');
writeln('| Фамилия | Должность | Зарплата | Стаж |');
writeln('------------------------------------------------------');
for i:=1 to n do
if sp[i].zpl<sr then //если зарплата меньше средней, выводим
with sp[i] do
begin
gotoXY(1,whereY);write('| ',fam);
gotoXY(17,whereY);write('| ',dlz);
gotoXY(36,whereY);write('|',zpl:8);
gotoXY(47,whereY);write('|',stz:4);
gotoXY(54,whereY);writeln('|');
end;
writeln('------------------------------------------------------');
writeln('Press Enter');
readln;
clrscr; //очистим
writeln('Данные о работниках, чей стаж ,более 10 лет:');//новая таблица
k:=0;
writeln('------------------------------------------------------');
writeln('| Фамилия | Должность | Зарплата | Стаж |');
writeln('------------------------------------------------------');
for i:=1 to n do
if sp[i].stz>10 then //если стаж бодьше 10 лет
begin
k:=1; //фиксируем что есть
with sp[i] do //выводим
begin
gotoXY(1,whereY);write('| ',fam);
gotoXY(17,whereY);write('| ',dlz);
gotoXY(36,whereY);write('|',zpl:8);
gotoXY(47,whereY);write('|',stz:4);
gotoXY(54,whereY);writeln('|');
end;
end;
writeln('------------------------------------------------------');
if k=0 then write('Таких работников нет');
writeln('Press Enter');
readln
end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Другие предметы
-
Артём44646012.03.2023 10:52
-
keti23018705.05.2022 06:10
-
алина379808.02.2021 14:58
-
deadpool247817.07.2022 21:59
-
aloaloaloalo17.05.2022 09:38
-
HИKTO02.01.2021 19:49
-
iambigboy25.08.2021 19:34
-
bogdanserebria03.09.2022 09:34
-
niceglotatel20.01.2020 07:33
-
MishkaBra23.05.2021 00:49
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.