r e k l a m a
Zaloguj się, aby obserwować  
Obserwujący 0
alek37

[PHP]Obliczanie sredniej wazonej



Kalkulator średniej ważonej
Poniższy skrypt ma na celu ułatwienie obliczania średniej ważonej. . UWAGA! OCENY ROZDZIELAMY PRZECINKIEM A LICZBY DZIESIĘTNE KROPKĄ (np 1.70 czyli '2-')!





Oceny wagi '5':
Oceny wagi '4':
Oceny wagi '3':
Oceny wagi '2':
Oceny wagi '1':
Oceny wagi '0'*:





*Waga '0' występuje w przypadku wybranych przedmiotów, jest to tak zwana "1!".



<?php

$licznik = 0;
$dzielnik = 0;

$waga5 = explode(",",$_POST[waga5]);
$waga4 = explode(",",$_POST[waga4]);
$waga3 = explode(",",$_POST[waga3]);
$waga2 = explode(",",$_POST[waga2]);
$waga1 = explode(",",$_POST[waga1]);
$waga0 = explode(",",$_POST[waga0]);

for($i=0;$waga5[$i]!="";$i++)
{
$licznik = $licznik + $waga5[$i]*5;
$dzielnik = $dzielnik + 5;
}

for($i=0;$waga4[$i]!="";$i++)
{
$licznik = $licznik + $waga4[$i]*4;
$dzielnik = $dzielnik + 4;
}

for($i=0;$waga3[$i]!="";$i++)
{
$licznik = $licznik + $waga3[$i]*3;
$dzielnik = $dzielnik + 3;
}

for($i=0;$waga2[$i]!="";$i++)
{
$licznik = $licznik + $waga2[$i]*2;
$dzielnik = $dzielnik + 2;
}

for($i=0;$waga1[$i]!="";$i++)
{
$licznik = $licznik + $waga1[$i]*1;
$dzielnik = $dzielnik + 1;
}

for($i=0;$waga0[$i]!="";$i++)
{
$dzielnik = $dzielnik + 1;
}
if ($dzielnik==0){
$srednia = "WPISZ DANE!";
}
else
{
$srednia = $licznik/$dzielnik;
}
if($srednia > 0){
if($srednia>0 && $srednia<=1.75){$ocena = "niedostateczny";}
elseif($srednia >1.75 && $srednia <= 2.5){$ocena = "dopuszczający";}
elseif($srednia >2.5 && $srednia <= 3.5){$ocena = "dostateczny";}
elseif($srednia >3.5 && $srednia <= 4.5){$ocena = "dobry";}
elseif($srednia >4.5 && $srednia <= 5.25){$ocena = "bardzo dobry";}
elseif($srednia >5.25 && $srednia <= 6){$ocena = "celujący";}
elseif($srednia >5.25 && $srednia <= 6){$ocena = "celujący";}
elseif($srednia >6){$ocena = "Bardzo śmieszne, hłe, hłe, hłe... >:]";}
}
else
{
$ocena = "WPISZ DANE!";
}
?>

ŚREDNIA: $srednia
OCENA: $ocena
"

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Poniżej dwa fragmenty które wymagają poprawki (już poprawione)


$waga5 = explode(",",$_POST['waga5']);

$waga4 = explode(",",$_POST['waga4']);

$waga3 = explode(",",$_POST['waga3']);

$waga2 = explode(",",$_POST['waga2']);

$waga1 = explode(",",$_POST['waga1']);

$waga0 = explode(",",$_POST['waga0']);

ŚREDNIA: <?php echo $srednia ?>
OCENA: <?php echo $ocena ?>
[/code]

Słyszałeś o funkcjach? Ten skrypt (część php) można skrócić gdzieś o 75% używając funkcji.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wielkie dzieki za poprawki. Nareszcie dziala, juz sobie sprawdzilem. Z funkcjami nie stoje zbyt dobrze. Ta metoda moze i jest troche na okolo ale dziala (teraz nareszcie)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
r e k l a m a

A jak będziesz potrzebował policzyć średnią z 7 liczb, to dopiszesz kolejną zmienną $waga6 = explode(",",$_POST['waga6']); ? A jak będziesz potrzebował średniej ze 100 liczb, to też? Wyjątkowo brzydki styl programowania, wyjątkowo nieelastyczny i trudny do późniejszej modyfikacji.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zaloguj się, aby skomentować

Będziesz mógł dodać komentarz po zalogowaniu się



Zaloguj się
Zaloguj się, aby obserwować  
Obserwujący 0