Hodinová výpočty mezd

hlasů
1

Mám databázovou tabulku, jako je tento:

wagetable
 name     lowhours  highhours  wage 
 Default  0         40         10   
 Default  40        9999       15   
 Brian    0         40         15   
 Brian    40        50         20   
 Brian    50        9999       22   
 Chad     0         40         13   
 Chad     40        9999       17 

If 'Brian' pracoval 43.5151587 hodiny, chci, aby to přijít na to, že on dělal (40 * 15) + (3.5151587 * 20) = 670.303174.

Jedná se o databázi SQLite, takže vím, že bude používat:

SELECT wage FROM wagetable WHERE name LIKE 'Brian' AND 'HourNum' BETWEEN lowhours AND highhours;

Díky kombinaci podlahy a% ... Jsem prostě dávat logiku dohromady v mé hlavě.

Vezměte prosím na vědomí odpovědi v jazyce C # a PHP připustit, jak mohu převést logiku, co potřebuji. Mám zájem o pseudo kód, ale bude akceptovat vytáhne odpovědi

Edit: Vezměte prosím na vědomí ... odpracované hodiny nebudou nikdy přesné číslo, proč jsem se nechal překrývajících se stalo.

Edit2:

Chci vzít zaměstnanců Celkový počet odpracovaných hodin (příklad: 43.5151587) a pak si uvědomit, že prvních 40 hodin, on dělal standardní plat @ 15 $ za hodinu. so (40 * 15) ... Poté působil 3.5151587 hodin přesčasů @ 20 $ za hodinu. so (40 * 15) přidat do něj (3.5151587 * 20) ... Celková částka, vydělal byla 670,303174

Položena 16/08/2010 v 11:01
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

Z toho, co jsem pochopil z vaší poštou (psuedocode):

foreach pay_bracket p:
    if hours > p.length
        pay += p.length * p.pay
        hours -= p.length
    else
        pay += hours * p.pay
        end

Tam, kde lengthje highhours- lowhours(a že příjmové skupině jsou hned vedle sebe, samozřejmě).

Odpovězeno 16/08/2010 v 11:11
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more