22 / 22 / 14
Регистрация: 01.12.2011
Сообщений: 159
1

Получить списки прогульщиков и работников, не выполнивших план

18.04.2012, 13:12. Показов 1736. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
данные берутся из файла
Задана следующая информация: фамилия и инициалы рабочего, выработка в процентах и количество прогулов за месяц. Получить списки прогульщиков и работников, не выполнивших план.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2012, 13:12
Ответы с готовыми решениями:

Определить кол-во сотрудников, выполнивших план по всем продуктам
Имеется план-факт по набору продуктов для каждого из сотрудников в форме таблицы (см. вложения)....

Напечатать список автопредприятий, не выполнивших план грузооборота более чем на 10%
Даны шифры предприятий, плановый и реальный грузообороты в ткм. Напечатать список автопредприятий,...

Организовать выбор работников по возрасту и образованию. Списки
В кадровой службе предприятия содержатся сведения о работниках предприятия: табельный номер, ИНН,...

Списки. Организовать выбор работников по возрасту и образованию
В кадровой службе предприятия содержатся сведения о работниках предприятия: табельный номер, ИНН,...

1
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
18.04.2012, 14:28 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
uses crt;
const nmax=20;
      line='--------------------------------------------';
      shap='|       ÔÈÎ       | Âûðàáîòêà,% | Ïðîãóëîâ |';
 
type sotrudniki = record
     fio: string[15];
     vyr: real;
     kol: byte;
     end;
 
var  f:file of sotrudniki;
     r: byte;
 
procedure Vvod (var ff: file of sotrudniki);
var s: sotrudniki;
    i,n: byte;
begin
clrscr;
write('Êîëè÷åñòâî ñîòðóäíèêîâ, íå áîëåå ',nmax,' n=');
readln(n);
rewrite(ff);
writeln('Âíåñèòå äàííûå î ñîòðóäíèêàõ: ');
for i:=1 to n do
    begin
    writeln(,i,' ñîòðóäíèê: ');
    with s do
         begin
         write('Ôàìèëèÿ, èíèöèàëû: '); readln(fio);
         write('Âûðàáîòêà, %: '); readln(vyr);
         write('Ïðîãóëîâ: '); readln(kol);
         end;
    write(ff,s);
    end;
close(ff);
writeln('Äàííûå âíåñåíû');
writeln('Äëÿ ïðîäîëæåíèÿ íàæìèòå Enter');
readln;
end;
 
procedure Vyvod (ff: file of sotrudniki);
var s: sotrudniki;
    k: byte;
begin
clrscr;  k:=0;
reset(ff);
writeln(line);
writeln(shap);
writeln(line);
while not (eof(ff)) do
      begin
      inc(k);
      read(ff,s);
      with s do
           begin
           writeln('|',fio:15,'|':3,vyr:8:1,'|':6,kol:6,'|':5);
           writeln(line);
           end;
      end;
close(ff);
writeln(line);
writeln('Âñåãî ',k);
writeln('');
writeln('Äëÿ ïðîäîëæåíèÿ íàæìèòå Enter');
readln;
end;
 
procedure VyvodPro (ff: file of sotrudniki);
var s: sotrudniki;
    k: byte;
begin
clrscr;  k:=0;
reset(ff);
while not (eof(ff)) do
      begin
      read(ff,s);
      with s do
           if kol>0 then
              begin
              inc(k);
              if k=1 then
                 begin
                 writeln(line);
                 writeln(shap);
                 writeln(line);
                 end;
              writeln('|',fio:15,'|':3,vyr:8:1,'|':6,kol:6,'|':5);
              writeln(line);
              end;
      end;
close(ff);
writeln(line);
writeln('Âñåãî ',k);
writeln('');
writeln('Äëÿ ïðîäîëæåíèÿ íàæìèòå Enter');
readln;
end;
 
procedure VyvodNe (ff: file of sotrudniki);
var s: sotrudniki;
    k: byte;
begin
clrscr;  k:=0;
reset(ff);
while not (eof(ff)) do
      begin
      read(ff,s);
      with s do
           if vyr<100 then
              begin
              inc(k);
              if k=1 then
                 begin
                 writeln(line);
                 writeln(shap);
                 writeln(line);
                 end;
              writeln('|',fio:15,'|':3,vyr:8:1,'|':6,kol:6,'|':5);
              writeln(line);
              end;
      end;
close(ff);
writeln(line);
writeln('Âñåãî ',k);
writeln('');
writeln('Äëÿ ïðîäîëæåíèÿ íàæìèòå Enter');
readln;
end;
 
begin
assign(f,'C:\BDsotrudniki.dta');
r:=1;
repeat
clrscr;
writeln('0-çàâåðøåíèå ðàáîòû');
writeln('1-ââîä äàííûõ');
writeln('2-âûâîä ñïèñêà ñîòðóäíèêîâ');
writeln('3-âûâîä äàííûõ î ïðîãóëüùèêàõ');
writeln('4-âûâîä äàííûõ î ðàáîòíèêàõ, íå âûïîëíèâøèõ ïëàí');
readln(r);
case r of
1:  Vvod (f);
2:  Vyvod (f);
3:  VyvodPro (f);
4:  VyvodNe (f);
else r:=0;
end;
until r=0;
readln;
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2012, 14:28
Помогаю со студенческими работами здесь

Определите списки учеников, не выполнивших нормативы, количество учеников, сдавших нормативы
При сдаче норм ГТО, были получены результаты забега на 100 метров и прыжков в длину, задайте нормы...

Напечатать списки цехов, в которых соотношение рабочих и инженерно-технических работников более 1,5 и менее 2
Нужно сделать с помощью(используя) записей. Даны шифры десяти цехов, численности рабочих и...

Напечатать списки водителей, перевыполнивших план более чем на 5%
Даны массивы F1...F10 - фамилии водителей S1...S10 - выручка за смену и PL - плановая выручка...

Как получить информации из бд по количеству работников
Здравствуйте уважаемые форумчане у меня возникла такая проблема и не знаю с какой стороны подойти в...


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

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

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