БлогNot. PHP: считаем средний балл и успеваемость

Помощь дата->рейтинг Поиск Почта RSS канал Статистика nickolay.info Домой

PHP: считаем средний балл и успеваемость

Очередной "пятиминутный" скрипт в учебных целях, хотя может и пригодиться :) Рассчитывает по заданному количеству "пятёрок", "четвёрок", "троек" и "двоек" общее количество оценок, средний балл, а также абсолютную (без троек) и качественную (без двоек) успеваемость, выраженную, как это принято, в процентах.

Cделано полностью по моему шаблону, на всякий случай привожу исходник на момент написания (без HTML-обрамления).

 Сервис "Расчёт среднего балла и успеваемости" в работе онлайн

<?php
 function trimall($string) { 
  return preg_replace("/(^\s*)|(\s*$)/","",preg_replace("/\s+/"," ",trim($string)));
 }
 
 function magic ($path) {
  @ini_set('magic_quotes_runtime', '0'); @ini_set('magic_quotes_sybase', '0');
  return (@get_magic_quotes_gpc()=='1' ? stripslashes($path) : $path);
 }
 
 $params = array ('k2','k3','k4','k5','action');
 while (list($num,$var) = each($params)) {
  if (!empty($_POST[$var])) $$var = intval(abs(trimall(htmlspecialchars(magic($_POST[$var])))));
  else if (!empty($_GET[$var])) $$var = intval(abs(trimall(htmlspecialchars(magic($_GET[$var])))));
  else $$var = '';
 }
 
 echo '
 <script type="text/javascript">
  function clearme() {
   document.f1.k5.value = ""; document.f1.k4.value = "";  document.f1.k3.value = "";  document.f1.k2.value = "";
  }
 </script>
 <noscript><div align="center"><small>
  Кнопка "Очистить" недоступна, т.к. в вашем браузере выключен Javascript</small></div></noscript>
 <form name="f1" method="post" action="'.$_SERVER['PHP_SELF'].'">
  <table align="center" border="0" cellpadding="4" cellspacing="0">
   <caption>Введите количество оценок:</caption>
   <tr>
    <td align="right">Отлично (5):</td>
    <td>
     <input type="text" name="k5" maxlength="2" size="3" value="'.$k5.'">
    </td>
   </tr>
   <tr>
    <td align="right">Хорошо (4):</td>
    <td>
     <input type="text" name="k4" maxlength="2" size="3" value="'.$k4.'">
    </td>
   </tr>
   <tr>
    <td align="right">Удовлетворительно (3):</td>
    <td>
     <input type="text" name="k3" maxlength="2" size="3" value="'.$k3.'">
    </td>
   </tr>
   <tr>
    <td align="right">Неудовлетворительно (2):</td>
    <td>
     <input type="text" name="k2" maxlength="2" size="3" value="'.$k2.'">
    </td>
   </tr>
   <tr>
    <td>
     <input type="button" value="Очистить" onclick="clearme();">
    </td>
    <td>
     <input type="hidden" name="action" value="1"> 
     <input type="submit" value="Отправить"> 
    </td>
   </tr>
  </table>
 </form>';
 if (!empty($action)) { 
  $all = $k5+$k4+$k3+$k2;
  $res = '';
  if ($all>0) {
   $av = round ((5*$k5+4*$k4+3*$k3+2*$k2)/$all,2);
   $ua = round (($k5+$k4+$k3)/$all*100,2);
   $uq = round (($k5+$k4)/$all*100,2);
   $res = '<td>Всего оценок:</td><td>'.$all.'</td>
           </tr><tr>
           <td>Средний балл:</td><td>'.$av.'</td>
           </tr><tr>
           <td>Абсолютная успеваемость, %:</td><td>'.$ua.'</td>
           </tr><tr>
           <td>Качественная успеваемость, %:</td><td>'.$uq.'</td>';
  }
  else $res = '<td>Не найдено хотя бы одной оценки!</td>';
  echo '
  <table align="center" border="0" cellpadding="4" cellspacing="0">
   <caption>Результаты расчёта:</caption>
   <tr>'.$res.'</tr></table>';
 }
?>

теги: php учебное сервис числа

комментарии (0)

25.02.2016, 13:53; рейтинг: 2601

  в началопоиск по блогунаписать авторустатистика

Наверх Яндекс.Метрика
© PerS
вход