Cena plus marza plus vat

2013-06-10 12:59
vacik
0

Witam buduje sobie mały skrypcik który będzie przeliczał ceny netto, za zadanie ma podnieść cenę pierw o marże potem o VAT, bynajmniej tak trzeba robić, lecz liczy jakoś dziwnie oto on za wszelkie podpowiedzi dziekuję

    if ($cen < 31) {
    $marza = $cen * 0.30;
    $cm = $cen + $marza;
    $vat = $cm * 0.23;  
    $cv = $cm + $vat;
$cena = $cv;
    }
    if ($cen < 76) {
    $marza = $cen * 0.25;
    $cm = $cen + $marza;
    $vat = $cm * 0.23;
    $cv = $cm + $vat;
$cena = $cv;
    }
    if ($cen < 151) {
    $marza = $cen * 0.20;
    $cm = $cen + $marza;
    $vat = $cm * 0.23;
    $cv = $cm + $vat;
$cena = $cv;
    }
    if ($cen < 1501) {
    $marza = $cen * 0.15;
    $cm = $cen + $marza;
    $vat = $cm * 0.23;
    $cv = $cm + $vat;
$cena = $cv;
    }
    if ($cen > 1501) {
    $marza = $cen * 0.03;
    $cm = $cen + $marza;
    $vat = $cm * 0.23;
    $cv = $cm + $vat;
$cena = $cv;
    }

Pozostało 580 znaków

2013-06-10 13:00
vacik
0

zapomniałem dodać błędu, mam np towar który przy marży 30% musi mieć koło 43 złotych a u mnie liczy 38 o 5 zeta za nało tak jakby wszędzie naliczał 17% marze której wg nie ma,

a nie chodziło Ci przypadkiem o else if? Przejdź po warunku, jeżeli cena będzie 43 wykona się każdy if oprócz pierwszego xD - juniorchat 2013-06-10 13:16
qwa nie zdążyłem, ktoś mnie ubiegł xD - juniorchat 2013-06-10 13:16

Pozostało 580 znaków

2013-06-10 13:12
ŁF
0

jeśli $cen < 31, to spełnione są wszystkie warunki z wyjątkiem ostatniego.
użyj else-if albo switch-case


Pozostało 580 znaków

2013-06-10 13:27
0

Kolejna rzecz, że przy cenie równej dokładnie 1501, nic nie obliczy.

Pozostało 580 znaków

2013-06-10 13:37
1

Używaj zasady DRY:

if($cen<31) $mul=0.30;
else if($cen<76) $mul=0.25;
else if($cen<151) $mul=0.20;
else if($cen<1501) $mul=0.15;
else $mul=0.03;
$marza=$cen*$mul;
$cm=$cen+$marza;
$vat=$cm*0.23;
$cv=$cm+$vat;

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 1x, ostatnio: _13th_Dragon, 2013-06-10 13:38

Pozostało 580 znaków

2013-06-10 13:40
0

Ja bym radził zrobić jakiś słownik i pobierać z niego procent marży, bo teraz to masz straszny nadmiar kodu.

Ubiegł mnie. - siararadek 2013-06-10 13:40

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0