В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История

Среди работников данного предприятия найти тех, чья заработная плата за месяц ниже средней по предприятию, а также распечатать

Показать ответ
Ответ:
sashaiseneev
sashaiseneev
16.04.2019 23:00
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.
0,0(0 оценок)
Популярные вопросы: Другие предметы
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота