fork download
  1. <?php
  2.  
  3. // archive-ipq-co.narod.ru
  4.  
  5. abstract class Worker
  6. {
  7.  
  8. public $rang; // Ранг сотрудника 1-3
  9. public $dicrementcoffe; // выжрано кофе
  10. public $stavka; // начальная ставка
  11. public $mainingDocument; // Произвел документов
  12. public $endStavka; // окончательная ставка, вычисляется через функцию EndStavka
  13. public $boss = false; // является ли сотрудник начальником
  14. public function __construct(){$this->endStavka=$this->getendStavka();}
  15.  
  16. public function getendStavka()
  17. { $percent=1;
  18. if ($this->rang==2)
  19. {
  20. $percent=1.25;
  21. }
  22. elseif ($this->rang==3)
  23. {
  24. $percent=1.5;
  25. }
  26. else
  27. {
  28. $percent=1;
  29. }
  30.  
  31. $endStavkaB = $this->stavka * $percent;
  32.  
  33. if ($this->boss)
  34. {
  35. $endStavkaB *= 1.5;
  36. }
  37. return $endStavkaB;
  38. }
  39. }
  40.  
  41. class Menedger extends Worker
  42. {
  43.  
  44.  
  45. public $dicrementcoffe = 20;
  46. public $stavka = 500;
  47. public $mainingDocument = 200;
  48. }
  49. class Market extends Worker
  50. {
  51. public $dicrementcoffe = 15;
  52. public $stavka = 400;
  53. public $mainingDocument = 150;
  54. }
  55. class Engeener extends Worker
  56. {
  57. public $dicrementcoffe = 5;
  58. public $stavka = 200;
  59. public $mainingDocument = 50;
  60. }
  61. class Analitic extends Worker
  62. {
  63. public $dicrementcoffe = 50;
  64. public $stavka = 800;
  65. public $mainingDocument = 5;
  66. }
  67. class Departament // возвращает массив с работниками в каждом департаменте
  68. {
  69. public $name;
  70. public $workers;
  71. public $menedgerA; //1 rang
  72. public $menedgerB; //2 rang
  73. public $menedgerC; //3 rang
  74. public $menedgerBoss;
  75. public $menedgerthere_Boss=0;//Руководитель
  76. // инженеры
  77. public $engeenerA; //1 rang
  78. public $engeenerB; //2 rang
  79. public $engeenerC; //3 rang
  80. public $engeenerBoss;
  81. public $engeenerthere_Boss=0;//Руководитель
  82. //маркетологи
  83. public $marketA;//1 rang
  84. public $marketB;//2 rang
  85. public $marketC;//3 rang
  86. public $marketBoss;
  87. public $marketthere_Boss=0;//Руководитель (его ранг)
  88. //аналитики
  89. public $analiticA; //1 rang
  90. public $analiticB; //2 rang
  91. public $analiticC; //3 rang
  92. public $analiticBoss;
  93. public $analiticthere_Boss=0;
  94. public function __construct(){$this->workers=$this->quantityWorker();}
  95. public function quantityWorker () // Возвращает массив с сотрудниками
  96. {
  97. for ($i=0; $i<$this->menedgerA; $i++) // заносим в массив менеджеров 1й ранг
  98. {
  99. $w = new Menedger;
  100. $w->rang = 1;
  101. $w->getendStavka();
  102. $w->__construct();
  103. $workers[] = $w;
  104. }
  105. for ($i=0; $i<$this->menedgerB; $i++) // заносим в массив менеджеров 2й ранг
  106. {
  107. $w = new Menedger;
  108. $w->rang = 2;
  109. $w->getendStavka();
  110. $w->__construct();
  111. $workers[] = $w;
  112. }for ($i=0; $i<$this->menedgerC; $i++) // заносим в массив менеджеров 1й ранг
  113. {
  114. $w = new Menedger;
  115. $w->rang = 3;
  116. $w->getendStavka();
  117. $w->__construct();
  118. $workers[] = $w;
  119. }
  120. for ($i=0; $i<$this->menedgerthere_Boss; $i++) // заносим в массив менеджеров руководителей
  121. {
  122. $w = new Menedger;
  123. $w->rang = $this->menedgerBoss;
  124. $w->boss = true;
  125. $w->getendStavka();
  126. $w->__construct();
  127. $workers[] = $w;
  128. }for ($i=0; $i<$this->engeenerA; $i++) // заносим в массив инженеров 1й ранг
  129. {
  130. $w = new Engeener;
  131. $w->rang = 1;
  132. $w->getendStavka();
  133. $w->__construct();
  134. $workers[] = $w;
  135. }for ($i=0; $i<$this->engeenerB; $i++) // заносим в массив инжей 2й ранг
  136. {
  137. $w = new Engeener;
  138. $w->rang = 2;
  139. $w->getendStavka();
  140. $w->__construct();
  141. $workers[] = $w;
  142. }for ($i=0; $i<$this->engeenerC; $i++) // заносим в массив инжей 3й ранг
  143. {
  144. $w = new Engeener;
  145. $w->rang = 3;
  146. $w->getendStavka();
  147. $w->__construct();
  148. $workers[] = $w;
  149. }
  150. for ($i=0; $i<$this->engeenerthere_Boss; $i++) // заносим в массив инжей боссов
  151. {
  152. $w = new Engeener;
  153. $w->rang =$this->engeenerBoss;
  154. $w->boss = true;
  155. $w->getendStavka();
  156. $w->__construct();
  157. $workers[] = $w;
  158. }
  159. for ($i=0; $i<$this->marketA; $i++) // заносим в массив маркетологов 1
  160. {
  161. $w = new Market;
  162. $w->rang = 1;
  163. $w->getendStavka();
  164. $w->__construct();
  165. $workers[] = $w;
  166. }
  167. for ($i=0; $i<$this->marketB; $i++) // заносим в массив маркетологов 2
  168. {
  169. $w = new Market;
  170. $w->rang = 2;
  171. $w->getendStavka();
  172. $w->__construct();
  173. $workers[] = $w;
  174. }
  175. for ($i=0; $i<$this->marketC; $i++) // заносим в массив мfhrtnjkjujd 3
  176. { $w = new Market;
  177. $w->rang = 3;
  178. $w->getendStavka();
  179. $w->__construct();
  180. $workers[] = $w;
  181. }
  182. for ($i=0; $i<$this->marketthere_Boss; $i++) // заносим в массив Boss Market
  183. {
  184. $w = new Market;
  185. $w->rang =$this->marketBoss;
  186. $w->boss = true;
  187. $w->getendStavka();
  188. $w->__construct();
  189. $workers[] = $w;
  190. }
  191. for ($i=0; $i<$this->analiticA; $i++) // заносим в массив Analitic 1
  192. {
  193. $w = new Analitic;
  194. $w->rang = 1;
  195. $w->getendStavka();
  196. $w->__construct();
  197. $workers[] = $w;
  198. }for ($i=0; $i<$this->analiticB; $i++) // заносим в массив Analitic 2
  199. {
  200. $w = new Analitic;
  201. $w->rang = 2;
  202. $w->getendStavka();
  203. $w->__construct();
  204. $workers[] = $w;
  205. }for ($i=0; $i<$this->analiticC; $i++) // Analitic 3
  206. {
  207. $w = new Analitic;
  208. $w->rang = 3;
  209. $w->getendStavka();
  210. $w->__construct();
  211. $workers[] = $w;
  212. }
  213. for ($i=0; $i<$this->analiticthere_Boss; $i++) // Analitic BoSS
  214. {
  215. $w = new Analitic;
  216. $w->rang = $this->analiticBoss;
  217. $w->boss = true;
  218. $w->getendStavka();
  219. $w->__construct();
  220. $workers[] = $w;
  221. }
  222. return $workers;
  223. }
  224.  
  225. }
  226. //Департамент продаж: 12×ме1, 6×ма1, 3×ан1, 2×ан2 + руководитель ма2
  227. //Департамент рекламы: 15×ма1, 10×ма2, 8×ме1, 2×ин1 + руководитель ма3
  228. //Департамент логистики: 13×ме1, 5×ме2, 5×ин1 + руководитель ме1
  229. class ProcurementDivision extends Departament
  230. {
  231. public $name = "Закупок";
  232. public $menedgerA=9;
  233. public $menedgerB=3;
  234. public $menedgerC=2;
  235. public $marketA=2;
  236. public $menedgerBoss=2; //Ранг руководителя
  237. public $menedgerthere_Boss=1;
  238. }
  239. class MarketDivision extends Departament
  240. {
  241.  
  242. public $name = "Рекламы";
  243. public $menedgerA=8;
  244. public $engeenerA=2;
  245. public $marketA=15;
  246. public $marketB=10;
  247. public $marketBoss=3; //Ранг руководителя
  248. public $marketthere_Boss=1;
  249. }
  250. class SellerDivision extends Departament
  251. { public $name = "Продаж";
  252. public $menedgerA=12;
  253. public $marketA=6;
  254. public $analiticA=3;
  255. public $marketBoss=2; //Ранг руководителя
  256. public $marketthere_Boss=1;
  257. }
  258. class LogisticDivision extends Departament
  259. { public $name = "Логистики";
  260. public $menedgerA=13;
  261. public $menedgerB=5;
  262. public $engeenerA=5;
  263. public $menedgerBoss=1;
  264. public $menedgerthere_Boss=1;
  265. }
  266. class Calculator
  267. { public function keyInfo($quest)
  268.  
  269. {
  270. //echo "Общая зарплата сотрудника {$quest->workers[2]->endStavka}";
  271. $countOfWorker = count($quest->workers);
  272. for ($i=0; $i<$countOfWorker; $i++) // считает бабло,коффе и документы
  273. {
  274. $rate = $quest->workers[$i]->endStavka;
  275. $totalRate= $totalRate+$rate; //выплаченное бабло всем сотрудником
  276. $coffe = $quest->workers[$i]->$dicrementcoffe;
  277. $totalCoffe=$totalCoffe+$coffe;
  278. $document = $quest->workers[$i]->$mainingDocument;
  279. $totalDocument = $totalDocument + $document;
  280. }
  281.  
  282.  
  283. echo "всего {$totalRate} выплачено тугриков";
  284. echo "всего {$totalCoffe} выпито кофе";
  285. echo "всего создано {$totalDocument} документа";
  286.  
  287. }
  288.  
  289.  
  290. }
  291.  
  292. $quest= new ProcurementDivision;
  293. function keyInfo($quest)
Runtime error #stdin #stdout #stderr 0.01s 82880KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
PHP Parse error:  syntax error, unexpected end of file, expecting '{' in /home/Mzm5qE/prog.php on line 294