Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Obliczanie sredniej wazonej
Forum PHP.pl > Forum > Przedszkole
alek37
Witam
Mam taki oto kod do obliczania sredniej wazonej ale nie moge odnalezc przyczyny z powodu ktorej on nie dziala. Czy moge prosic kogos o pomoc przy wskazaniu bledow.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.  
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>Kalkulator średniej ważonej.</title>
  7. </head>
  8.  
  9. <body>
  10. <table width=100%><tr><td align=center>
  11. <table width=400><tr><td align = center><font size=4><b>Kalkulator średniej ważonej </b></font></td></tr><tr><td align=center><font size=3>Poniższy skrypt ma na celu ułatwienie obliczania średniej ważonej. .<b> UWAGA! OCENY ROZDZIELAMY PRZECINKIEM A LICZBY DZIESIĘTNE KROPKĄ (np 1.70 czyli '2-')!</b></font><br />
  12.  
  13. </font></td></tr></table>
  14. <br />
  15. <table>
  16. <form action="index.php" method="POST">
  17.  
  18. <tr><td>Oceny wagi '5':</td><td><input type="text" name="waga5" size="25" /></td></tr>
  19. <tr><td>Oceny wagi '4':</td><td><input type="text" name="waga4" size="25" /></td></tr>
  20. <tr><td>Oceny wagi '3':</td><td><input type="text" name="waga3" size="25" /></td></tr>
  21. <tr><td>Oceny wagi '2':</td><td><input type="text" name="waga2" size="25" /></td></tr>
  22. <tr><td>Oceny wagi '1':</td><td><input type="text" name="waga1" size="25" /></td></tr>
  23. <tr><td>Oceny wagi '0'*:</td><td><input type="text" name="waga0" size="25" /></td></tr>
  24.  
  25. </table><br />
  26. <input type="submit" value="Oblicz średnią ważoną" /></br></br>
  27.  
  28. </form>
  29. <p>*Waga '0' występuje w przypadku wybranych przedmiotów, jest to tak zwana "1!".</p>
  30. </td></tr></table>
  31. <?php
  32.  
  33. $licznik = 0;
  34. $dzielnik = 0;
  35.  
  36. $waga5 = explode(",",$_POST[waga5]);
  37. $waga4 = explode(",",$_POST[waga4]);
  38. $waga3 = explode(",",$_POST[waga3]);
  39. $waga2 = explode(",",$_POST[waga2]);
  40. $waga1 = explode(",",$_POST[waga1]);
  41. $waga0 = explode(",",$_POST[waga0]);
  42.  
  43. for($i=0;$waga5[$i]!="";$i++)
  44. {
  45. $licznik = $licznik + $waga5[$i]*5;
  46. $dzielnik = $dzielnik + 5;
  47. }
  48.  
  49. for($i=0;$waga4[$i]!="";$i++)
  50. {
  51. $licznik = $licznik + $waga4[$i]*4;
  52. $dzielnik = $dzielnik + 4;
  53. }
  54.  
  55. for($i=0;$waga3[$i]!="";$i++)
  56. {
  57. $licznik = $licznik + $waga3[$i]*3;
  58. $dzielnik = $dzielnik + 3;
  59. }
  60.  
  61. for($i=0;$waga2[$i]!="";$i++)
  62. {
  63. $licznik = $licznik + $waga2[$i]*2;
  64. $dzielnik = $dzielnik + 2;
  65. }
  66.  
  67. for($i=0;$waga1[$i]!="";$i++)
  68. {
  69. $licznik = $licznik + $waga1[$i]*1;
  70. $dzielnik = $dzielnik + 1;
  71. }
  72.  
  73. for($i=0;$waga0[$i]!="";$i++)
  74. {
  75. $dzielnik = $dzielnik + 1;
  76. }
  77. if ($dzielnik==0){
  78. $srednia = "WPISZ DANE!";
  79. }
  80. else
  81. {
  82. $srednia = $licznik/$dzielnik;
  83. }
  84. if($srednia > 0){
  85. if($srednia>0 && $srednia<=1.75){$ocena = "<font color=blue>niedostateczny</font>";}
  86. elseif($srednia >1.75 && $srednia <= 2.5){$ocena = "<font color=blue>dopuszczający</font>";}
  87. elseif($srednia >2.5 && $srednia <= 3.5){$ocena = "<font color=blue>dostateczny</font>";}
  88. elseif($srednia >3.5 && $srednia <= 4.5){$ocena = "<font color=blue>dobry</font>";}
  89. elseif($srednia >4.5 && $srednia <= 5.25){$ocena = "<font color=blue>bardzo dobry</font>";}
  90. elseif($srednia >5.25 && $srednia <= 6){$ocena = "<font color=blue>celujący</font>";}
  91. elseif($srednia >5.25 && $srednia <= 6){$ocena = "<font color=blue>celujący</font>";}
  92. elseif($srednia >6){$ocena = "<font color=pink>Bardzo śmieszne, hłe, hłe, hłe... >:]</font>";}
  93. }
  94. else
  95. {
  96. $ocena = "WPISZ DANE!";
  97. }
  98. ?>
  99. <table width=100%>
  100. <tr>
  101. <td align=center>
  102. <table><tr><td align=center><b>ŚREDNIA: </b><font color=red>$srednia</font></td></tr></td></tr><tr><td align=center><b>OCENA: </b>$ocena</td></tr></table></table>"
  103. </body>
  104. </html>
klocu
Forum to nie debuger:
Cytat
?>
<table width=100%>
<tr>
<td align=center>
<table><tr><td align=center><b>ŚREDNIA: </b><font color=red>$srednia</font></td></tr></td></tr><tr><td align=center><b>OCENA: </b>$ocena</td></tr></table></table>"
</body>
</html>


Jak chcesz cokolwiek wyświetlić jeśli zamknąłeś blok danych do sparsowania i wyświetlasz goły tekst np. $srednia i ten cudzysłów tak samo do wyrzucenia.
A drugie:
  1. $waga5 = explode(",",$_POST[waga5]);
  2. $waga4 = explode(",",$_POST[waga4]);
  3. $waga3 = explode(",",$_POST[waga3]);
  4. $waga2 = explode(",",$_POST[waga2]);
  5. $waga1 = explode(",",$_POST[waga1]);
  6. $waga0 = explode(",",$_POST[waga0]);
wałkowane miliardy razy, skrypt dla siebie czy nie dla siebie - dlaczego nie sprawdzasz co dostajesz na wejściu i czy cokolwiek dostajesz, to przepisujesz i wychodzi z tego:

Cytat
Notice: Use of undefined constant waga5 - assumed 'waga5' in waz.php on line 36
Notice: Undefined index: waga5 in waz.php on line 36
Notice: Use of undefined constant waga4 - assumed 'waga4' in waz.php on line 37
Notice: Undefined index: waga4 in waz.php on line 37
Notice: Use of undefined constant waga3 - assumed 'waga3' in waz.php on line 38
Notice: Undefined index: waga3 in waz.php on line 38
Notice: Use of undefined constant waga2 - assumed 'waga2' in waz.php on line 39
Notice: Undefined index: waga2 in waz.php on line 39
Notice: Use of undefined constant waga1 - assumed 'waga1' in waz.php on line 40
Notice: Undefined index: waga1 in waz.php on line 40
Notice: Use of undefined constant waga0 - assumed 'waga0' in waz.php on line 41
Notice: Undefined index: waga0 in waz.php on line 41
ŚREDNIA: WPISZ DANE!
OCENA: WPISZ DANE!


--
Następnym razem dokładniej zdefiniuj niedziałanie: nie liczy, nie wyświetla...
alek37
Dzieki wielkie za wskazowki. Nie traktuje forum jako debuggera. Prosilem jedynie o pomoc w odnalezieniu bledow ktorych sam nie potrawilem zauwazyc. Uwazam jednak ze to nie to samo
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-2024 Invision Power Services, Inc.