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

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

Показать ответ
Ответ:
romafadeev1
romafadeev1
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-бота