elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Problema al generar la media de un array
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al generar la media de un array  (Leído 1,412 veces)
splendid37

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Problema al generar la media de un array
« en: 13 Enero 2019, 19:13 pm »

Tengo un problema al generar la media de un array ya que no me lo muestra en pantalla o no estoy haciendo algo bien.

El siguiente código muestra un formulario que al escribir '1' y enviar se imprime una lista de alumnos con sus notas, las notas se generan aleatoriamente en las funciones 'notaDificultadBaja()' y 'notaDificultadMedia()' y estas notas se guardan en el array $datos['notas'].

La última funcion llamada 'calculoNotasMedia()' la que esta con comentarios es la que tendría que generar las notas medias pero no me imprime nada por pantalla y en otros arrays si que me funciona.

Código
  1.  
  2. <?php session_start();?>
  3.  
  4. <html>
  5.    <body>
  6.        <form action="simuladorExamenes.php" method= "get">
  7.        Opción: <input type = "text" name ="opcion">
  8.        <input type = "submit">
  9.    </form>
  10.  
  11.    <?php
  12.  
  13.        if($_GET['opcion'] == 1){
  14.  
  15.            imprimeListaAlumnosNotas();
  16.        }
  17.  
  18.  
  19.        if(!existenDatosEnSesion()){
  20.  
  21.            inicializaDatos();
  22.        }
  23.  
  24.        function existenDatosEnSesion(){
  25.            return $_SESSION['datos'] != NULL;
  26.        }
  27.  
  28.        function inicializaDatos(){
  29.  
  30.            $persona1= [
  31.                'nombre' => 'persona1',
  32.                'notas' => []
  33.            ];
  34.  
  35.            $persona2= [
  36.                'nombre' => 'persona2',
  37.                'notas' => []
  38.            ];
  39.  
  40.            $persona3= [
  41.                'nombre' => 'persona3',
  42.                'notas' => []
  43.            ];
  44.  
  45.            $datos=[$persona1, $persona2, $persona3];
  46.            $_SESSION['datos'] = $datos;
  47.        }
  48.  
  49.        function notaDificultadBaja(){
  50.  
  51.            $datos = $_SESSION['datos'];
  52.  
  53.            foreach ($datos as $key => $value) {
  54.  
  55.                $datos[$key]['notas'] = random_int(5 * 100 , 10 * 100) / 100;
  56.            }
  57.  
  58.            echo "<td>",$datos[$key]['notas'],"</td>";
  59.        }
  60.  
  61.        function notaDificultadMedia(){
  62.  
  63.            $datos = $_SESSION['datos'];
  64.  
  65.            foreach ($datos as $key => $value) {
  66.  
  67.                $datos[$key]['notas'] = random_int(0 * 100, 10 * 100) / 100;
  68.            }
  69.  
  70.            echo "<td>",$datos[$key]['notas'],"</td>";
  71.        }
  72.  
  73.        function imprimeListaAlumnosNotas(){
  74.  
  75.            $datos = $_SESSION['datos'];
  76.  
  77.            echo "<div class='Encabezado'>";
  78.            echo "<h2>Lista de Alumnos y notas </h2>";
  79.            echo "</div>";
  80.  
  81.            echo "<table>";
  82.            echo "<tr>";
  83.            echo "<th>Nombre</th>";
  84.            echo "<th>E0</th>";
  85.            echo "<th>E1</th>";
  86.            echo "<th>Media</th>";
  87.            echo "</tr>";
  88.  
  89.  
  90.            foreach ( $datos as $alumno ) {
  91.  
  92.                echo "<tr>";
  93.                echo "<td>",$alumno['nombre']," ","</td>";
  94.  
  95.                    notaDificultadBaja();
  96.  
  97.                    notaDificultadMedia();
  98.  
  99.                    //calculoNotasMedia($alumno['notas']);
  100.  
  101.                echo "</tr>";
  102.            }
  103.  
  104.  
  105.            echo "<tr>";
  106.            echo "<td>";
  107.            echo "<br>";
  108.            echo "<b>Notas Medias</b>";
  109.  
  110.            echo "<td/>";
  111.            echo "<tr/>";
  112.  
  113.            echo "</table>";
  114.        }
  115.  
  116.  
  117.        /*function calculoNotasMedia($pArrayNotas) {
  118.  
  119.             $sumaNotas = 0;
  120.             $numNotas = 0;
  121.                     foreach ( $pArrayNotas as $unaNota ) {
  122.                         $numNotas++;
  123.                         $sumaNotas += $unaNota;
  124.             }
  125.             return $sumaNotas/$numNotas;
  126.         }*/
  127.  
  128.    ?>
  129.  
  130.    </body>
  131. </html>
  132.  
  133.  

Si todo funcionase bien quería que me imprimiese esto :




En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Media aritmetica de un array entero
Programación C/C++
dairus20 2 14,542 Último mensaje 5 Marzo 2011, 13:20 pm
por dairus20
Generar combinacion de 5 numeros escogiendo los valores de un array
Programación Visual Basic
usuarioarroba 8 7,249 Último mensaje 30 Agosto 2011, 13:20 pm
por 79137913
Calcular la media a través de un array
Programación C/C++
DickGumshoe 4 4,963 Último mensaje 14 Enero 2012, 20:16 pm
por DickGumshoe
Problema al generar un exe de cpp
Programación C/C++
ahaugas 5 3,772 Último mensaje 23 Julio 2012, 23:08 pm
por ahaugas
problema al generar un archivo csv
PHP
Oddinx 1 2,434 Último mensaje 2 Junio 2017, 03:44 am
por mchojrin
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines