<?php
// archive-ipq-co.narod.ru
error_reporting(-1);
class Employee
{
public $name; // имя-фамилия
public $rate; // часовая ставка (сколько он получает тугриков за час работы)
public $hours = array(); // массив, содержащий отработанные часы по неделям
public function __construct($name, $rate)
{
// задаем имя и часовую ставку
$this->name = $name;
$this->rate = $rate;
}
/** Считает общее число отработанных часов */
public function getTotalHoursWorked()
{
// Просто складываем значения часов в массиве
return array_sum($this->hours);
}
/** Считает зарплату */
public function getSalary()
{
// Получаем число отработанных часов
$hours = $this->getTotalHoursWorked();
// и умножаем на часовую ставку
$salary = $hours * $this->rate;
return $salary;
}
}
$ivan = new Employee("Иванов Иван", 10);
// name и rate заданы через конструктор, потому осталось лишь написать часы
$ivan->hours = array(40, 40, 40, 40); // Иван работает по 40 часов в неделю
$peter = new Employee("Петров Петр", 8);
$peter->hours = array(40, 10, 40, 50); // Петр взял отгул и потому отработал меньше часов,
// но в последнюю неделю решил поработать побольше
$employees = array($ivan, $peter);
// foreach ($employees as $employee) {
// echo "Имя: {$employee->name}\n";
// echo "Ставка, тугриков в час: {$employee->rate}\n";
// echo "Отработал, часов: {$employee->getTotalHoursWorked()}\n";
// echo "Заработал, тугриков: {$employee->getSalary()}\n";
// }
// Ширина колонок
$col1 = 30;
$col2 = 8;
$col3 = 8;
$col4 = 8;
function padRight($string, $length){
}
function padLeft($string, $length){
}
// Заголовок таблицы
echo padRight("Сотрудник", $col1) .
padLeft("Часы", $col2) .
padLeft("Ставка", $col3) .
padLeft("З/п", $col4) . "\n\n";
// Сама таблица
foreach ($employees as $employee) {
echo padRight($employee->name, $col1) .
padLeft($employee->getTotalHoursWorked(), $col2) .
padLeft($employee->rate, $col3) .
padLeft($employee->getSalary(), $col4) . "\n";
}