Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/05/2014, 10:03
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años
Puntos: 320
Respuesta: Php programacion cantidad de aprobados

Supongo que $Nota es un array con notas verdad?

1) Verifica que los datos esten bien cargados, puedes hacer:
Código PHP:
Ver original
  1. var_dump($Nota);
eso te motrara los datos de $Nota, si no son los que cargaste, es porque algo anda mal cuando los recibiste.

2) $Nota es un array verdad? php tiene un iterador especial para array, me refiero al foreach por lo que puedes usarlo para simplificar tu trabajo.
Código PHP:
Ver original
  1. foreach($Nota as $calificacion)
  2. {
  3. //...
  4. }

3) A esta altura, ya abras notado que $Nota no es un nombre muy descriptivo para un array de calificaciones, mucho mas claro seria $calificaciones (con la primer letra en minuscula porque es una variable no una clase) pero esto solo es un capricho semantico que no tiene consecuencias practicas, solo de legibilidad.

4) Ahora debes pensar como guardar los valores de la calificacion, tu quieres saber cuantos aplazados hay, cuantos aprobados y cuantos desaprobados, por lo que primero debes pensar ¿Donde voy a guardar estos datos?, por el codigo que pusiste se ve que pensaste en usar variables independientes, no esta mal, pero ¿Porque no lo guardas en un array directamente?
Código PHP:
Ver original
  1. $resumen_notas = array("aplazados"=>0, "desaprobados" => 0, "aprobados"=>0);
  2. foreach($Nota as $calificacion)
  3. {
  4. //...
  5. }

5) Como veras, las claves del array $resumen_notas son los nombres que nos interesan y sus valores son 0, porque hasta que no se ejecute el foreach no hay nada cargado, la idea es incrementar estas posiciones dentro del foreach, por ejemplo asi:

Código PHP:
Ver original
  1. $resumen_notas = array("aplazados"=>0, "desaprobados" => 0, "aprobados"=>0);
  2. foreach($Nota as $calificacion)
  3. {
  4.      if($calificacion >= 7)
  5.         $resumen_notas["aprobados"]++;
  6.      elseif($calificacion >= 4)
  7.      //...
  8.      else
  9.      //...
  10. }

6) puedes completar los dos renglones que faltan con la misma idea que el primero y observar por pantalla los resultados luego, utilizando nuevamente var_dump

Código PHP:
Ver original
  1. var_dump($resumen_notas);
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios