Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]arkusz kalk
Forum PHP.pl > Forum > Przedszkole
-maciek-
Witam

Chciałbym się poradzić forumowiczów. Otóż chcę stworzyć arkusz kalkulacyjny, który będzie obliczał cenę wycinania. Ceny są w metrach kwadratowych. Czyli przykładowo

Wycinanie powyżej 1 m2 - 25zł
Wycinanie w przedziale 0,5 m2 do 1 m2 - 35 zł
Wycinanie poniżej 0,5 m2 - 45 zł

Arkusz posiadać musi dwa pola pobierające szerokość i wysokość w centymetrach gdyż mogą to być wartości poniżej metra kwadratowego
No i przy obliczeniach matematycznych nie mogę nic dobrego wymyśleć.
Myślałem o przekształceniu tego na centymetry ale wtedy będą bardzo małe wartości i będzie dużo pisania. Może jest na to jakiś inny prosty sposób na który jako newbe nie mogę wpaść. Proszę o poradę smile.gif.
nospor
no ale czego nie rozumiesz?
1m2 = 100cm x 100cm = 10000cm2
czyli twoj cennik w przeliczeniu na cm2 to:
Wycinanie powyżej 10000 cm2 - 25zł
Wycinanie w przedziale 5000 cm2 do 10000 cm2 - 35 zł
Wycinanie poniżej 5000 cm2 - 45 zł

No iteraz przemnasza te dwa pola i dajesz zwykle ify
-maciek-
No ok tak również myślałem ale spójrz ,że jest to cena za metr kwadratowy. Czyli za centymetr kwadratowy będzie 0,0025zł. W momencie kiedy szerokość i wysokość przykładowo będzie 20 i 30 czyli 600 cm2 to wychodzi 1,5zł, za mało. Coś jest źle albo ja źle myślę ... sciana.gif
nospor
ten cennik:
Wycinanie powyżej 10000 cm2 - 25zł
Wycinanie w przedziale 5000 cm2 do 10000 cm2 - 35 zł
Wycinanie poniżej 5000 cm2 - 45 zł

to co to jest?
skoro wyszlo ci 600cm2 czyli jest mniejsze niz 5000 wiec cena ma wyniesc 45zl.

Chyba ze ten cennik okresla cene metra w takich przedzialach. U ciebie wiec za 600cm 1 cm bedzie w cenie: 0,0045
a wiec za 600cm2 zaplaci koles 2,7 zl.

I teraz pytanie jak ty masz to liczyc, bo mi wydawalo sie ze tym pierwszym sposobem czyli powinien zaplacic 45zl a nie 2,7
-maciek-
Ale to są ceny za metr, jeśli wycięcie jest przykładowo 2 metry to cena za 1 metr jest 25zł, jeśli wycięcie w pół metrze (mniejsze więc trudniejsze) cena za 1 metr to 45zl. Czyli za pół metra w tym wypadku zapłacone by zostało 22,5zł. A za dwa metry z 1 przykładu 50zł. Cena jest liczona za jeden metr, i teraz właśnie mam problem przełożyć to w ten sposób na centymetry żeby było liczone.
bemol
1 if -Wycinanie powyżej 1 m2 - 25zł
2 if -Wycinanie w przedziale 0,5 m2 do 1 m2 - 35 zł
3 if -Wycinanie poniżej 0,5 m2 - 45 zł

Czyli prosta rzecz.
Robisz 2 inputy z szerokością i długością.
Koleś podaje wymiary w cm. Twój skrypt przelicza to na m2, a wtedy już tylko na if'ach.

Przykładowo:
koleś podaje 20x60
skrypt przelicza i wychodzi 1200cm2, a to jest 0,12 m2.
Teraz sprawdza 1 ifa, nie zgadza sie, przechodzi dalej.
Teraz sprawdza 2, nie zgadza sie.
Teraz sprawdza 3 i eureka!
liczy: 0,12*45zł = 5,4 zł!

Tyle tongue.gif

Edit:
2 przykład
koleś podaje wymiary: 90x210
wychodzi 18900 cm2 = 1,89 m2
wychodzi 1 if czyli:
1,89 * 25 = 47,25
-maciek-
o smile.gif to chyba będzie to smile.gif dziękuje Ci bardzo. Biorę się za robotę i mam nadzieję ,że wszystko będzie git smile.gif
nospor
nie zebym sie czepial, ale w moim poprzednim poscie opisalem dokladnie to samo co bemol

Cytat
Chyba ze ten cennik okresla cene metra w takich przedzialach. U ciebie wiec za 600cm 1 cm bedzie w cenie: 0,0045
a wiec za 600cm2 zaplaci koles 2,7 zl.

W jego przykladzie bylo 1200 co tez lapie sie w ostatnią cene za 45zl. wyszlo mu 5.4 czyli dokladnie ten sam przelicznik co umnie. U mnie bylo tylko polowa mniej cm2 niz u bemola smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.