Показать сообщение отдельно
  #2  
Старый 15.03.2017, 04:46
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Неправильный раздел. Нужно либо в:
- Код На Шару, если хочется готовое решение нахаляву
- Работа, если готовы оплатить усилия других
- Начинающим, если делаете сами и просто нужна небольшая помощ (необходимо предоставлять свой код)

2. Не совсем понятна система ввода. Это табель за месяц, например, или просто ввод "за смену"? Ночные часы вводятся отдельно или как-то надо их высчитывать?

3. Ну пусть при вводе указывается кол-во часов и признак дневной/ночной. Тогда расчет оплаты примерно так:
Код:
function GetPaymentPerShift(Hours : Integer; Rate : Currency; IsNight : Boolean) : Currency;
begin
  If Not IsNight 
    Then Result := Rate * Hours // Дневные часы
    Else
     If Hours > 2 
        Then Result := Rate * 2 * (Hours-1) // Ночь, > 2 часов
        Else Result := Rate * 1.5 * Hours; // Ночь, <= 2 часа
end;
Ответить с цитированием