1 / 1 / 0
Регистрация: 17.05.2012
Сообщений: 43
1

Вывод на экран информации о служащих с должностью "менеджер", стаж которых — более четырёх лет

28.11.2012, 21:51. Показов 1364. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Список служащих хранится в виде файла записей. Для каждого служащего указаны фамилия и инициалы, название занимаемой должности, год поступления на работу и оклад.
Написать программу выполняющую:
1)ввод данных в список с клавиатуры
2) вывод на экран информации о служащем, фамилия которого введена с клавиатуры
3)вывод на экран информации о служащих с должностью "менеджер" , стаж которых - более четырёх лет
4) вывод на экран информации о служащем, имеющим наибольший оклад

Вот написал тут код, проверте пожалйста, чето не хочет работать:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const
 K = 1000;
 
type
 data = record
 family, dolzhnost: string; year: integer;
 end;
 
var
 N, i, count, c, j: integer;f, s, st: string;
 mas: array[1..K] of data;
 
begin
 writeln('введите количество служащих');
 readln(N);
 writeln('введите фамилию');
 readln(f);
 for i := 1 to n do
 begin
 readln(s);
 st := ''; count := 0;
 for j := 1 to length(s) do
 if s[j] <> ' ' then st := st + s[j]
 else
 if length(st) > 0 then begin
 inc(count);
 case count of
 1: mas[i].family := st;
 2: mas[i].dolzhnost := st;
 3: val(st, mas[i].year, c);
 end;
 st := '';
 end;
 
 end;
 for i := 1 to N do
 begin
 if mas[i].family = f then writeln(mas[i].family, ' ', mas[i].dolzhnost, ' ', mas[i].year);
 if (mas[i].dolzhnost = 'менеджер') and (mas[i].year > 4) then writeln(mas[i].dolzhnost);
 end;
end.
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2012, 21:51
Ответы с готовыми решениями:

Напечатать список сотрудников, стаж работы которых более 25 лет
Прошу помогите разобрать задачу 1. Создать набор данных, в котором записи имеют структуру: ОТДЕЛ,...

Вывести список рабочих-мужчин, зарплата которых меньше введенной клавиатуры, стаж более трех лет
Інженерно-технічний працівник Допоміжний персонал (П.І. Б) (Стать)...

Ввод информации о продажах торговой фирмы за несколько последовательных лет (количество лет не более 20), вывода введенных данных на экран в виде таб
Найти самый успешный квартал для каждого года. Результат вывести в виде таблицы из двух столбцов:...

Вывести фамилии всех сотрудников, чей стаж работы не менее 3-х лет и возраст не более 25 лет
DELPHI HEILP Народ, спасайте, я тупой , как валенок в программировании , но надо сделать такую...

На листе один выполнить фильтрацию, выводящую на экран сведения по работникам, стаж которых менее 10 лет
пожалуйста :з

1
1 / 1 / 2
Регистрация: 22.10.2015
Сообщений: 2
17.01.2016, 20:03 2
Для будущих поколений, ибо автор уже наверное выпустился.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
type      rec = record
          surname: string[20];
          dolzhnost: string[20];
          year: integer;
          zp: integer;
          end;
var n,nmenu,i,j: integer;k:byte; vmas: array [1..20] of rec;s:string;
f1:file of rec;
v:rec;
label T;
begin
k:=0;
assign(f1,'file.txt');
reset(f1);
while not eof(f1) do begin
read(f1,vmas[k+1]);
k:=k+1;
end;
close(f1);
T:
 n:=1;
     writeln       ('____________________________');
     writeln       ('|           MENU           |');
     writeln       ('| 1) Ввод данных           |');
     writeln       ('| 2) Поиск по фамилии      |');
     writeln       ('| 3) Вывод на экран инфы   |');
     writeln       ('| о служащих с должностью  |');
     writeln       ('| «менеджер» стаж которых –|');
     writeln       ('|    болеечетырех лет      |');
     writeln       ('| 4) Вывод на экран        |');
     writeln       ('|  информации о работнике  |');
     writeln       ('| с самой большой ЗП       |');
     writeln       ('| 0) Выход                 |');
     writeln       ('____________________________');
     
     while n>0 do
  begin
     writeln ('выберите пункт меню');
     readln  (nmenu);
     
     case nmenu of
       1: //Ввод
       begin
       reset(f1);
       writeln('Введите фамилию');
       readln(v.surname);
       writeln('Введите должность');
       readln(v.dolzhnost);
       writeln('Введите год начала работы');
       readln(v.year);
       writeln('Введите зп');
       readln(v.zp);
       seek(f1,k);
       write(f1,v);  
       close(f1);
        goto T;
       end;
       2:begin
       writeln('Введите фамилию для поиска');
       readln(s);
       for i:=1 to 20 do 
        if s=vmas[i].surname then 
        v:=vmas[i];
       writeln(v.surname,v.dolzhnost,v.year,v.zp);
        goto T;
       end;
       3:begin
       for i:=1 to 20 do 
        if (vmas[i].dolzhnost='Менеджер') and (2016-vmas[i].year>4) then 
        writeln(vmas[i].surname,vmas[i].dolzhnost,vmas[i].year,vmas[i].zp);
        goto T;
       end;
       4:begin
       j:=0;
       for i:=1 to 20 do
        if vmas[i].zp>j then begin
        j:=vmas[i].zp;
        v:=vmas[i];
        end;
       writeln('Самая большая зарплата',v.surname,v.dolzhnost,v.zp);
       end;
       0:exit;
       end;
       end;
end.
1
17.01.2016, 20:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2016, 20:03
Помогаю со студенческими работами здесь

Рассчитать надбавку к зарплате за стаж, если стаж от 2 до 5 лет, надбавка составляет 2%, если стаж от 5 до 10 лет - 5%
Рассчитать надбавку к зарплате за стаж, если стаж от 2 до 5 лет, надбавка составляет 2%, если стаж...

Структура Sotrudnik, вывод информации о сотрудниках, стаж которых не превышает заданную величину
1.Описать запись с именем Sotrudnik, содержащую следующие поля: • фамилия, имя сотрудника; • стаж...

Вывести список сотрудников заданного отдела, имеющих стаж работы на предприятии более 20 лет
1.Информация о сотрудниках содержит ФИО, номер отдела, должность, стаж работы на предприятии....

Упорядочить сведения о сотрудниках, имеющих рабочий стаж более 20 лет, в порядке возрастания их возраста
Здравствуйте, помогите пожалуйста написать программу с помощью структур Таблица для решения

Разработать программу для ввода информации о продажах торговой фирмы за несколько последовательных лет (количество лет не более 20)
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;stdlib.h&gt; int main(int argc, char* argv) {...

Вывести все сведения о сотрудниках, стаж которых превышает 10 лет
Вывести все сведения о сотрудниках, стаж которых превышает 10 лет. Поля структуры: фамилия, имя,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru