Calcul salariu pe oră

voturi
1

Am un tabel de baze de date ca aceasta:

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 

Dacă 'Brian' a lucrat 43.5151587 ore, vreau să dau seama că el a făcut (40 * 15) + (3.5151587 * 20) = 670.303174.

Aceasta este o bază de date SQLite, așa că știu voi folosi:

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

Cu o combinație de podea și% ... eu sunt doar nu pune logica împreună în capul meu.

Vă rugăm să rețineți răspunsuri în C # și PHP acceptat, ca eu pot converti logica a ceea ce am nevoie. Caut cod pseudo, dar va accepta raspunsuri extrase din

Editare: vă rugăm să rețineți ... Orele lucrate nu va fi niciodată un număr întreg exact, de ce am lăsat să se întâmple se suprapun.

Edit2:

Vreau să iau un total de ore lucrate de angajați (de exemplu: 43.5151587) și apoi dau seama că primele 40 de ore, el a fost de luare de plata standard de @ 15 $ pe oră. astfel încât (40 * 15) ... Apoi a lucrat 3.5151587 ore de ore suplimentare @ 20 $ pe oră. astfel încât (40 * 15), se adaugă la aceasta (3.5151587 * 20) ... Suma totală câștigată a fost 670.303174

Întrebat 16/08/2010 la 11:01
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
0

Din ceea ce am aduna din postul tau (psuedocode):

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

În cazul în care lengtheste highhours- lowhours(și că parantezele de plată sunt chiar lângă unul pe altul, desigur).

Publicat 16/08/2010 la 11:11
sursa de către utilizator

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