Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2015, 02:31
droken26
 
Fecha de Ingreso: agosto-2007
Mensajes: 12
Antigüedad: 17 años, 3 meses
Puntos: 0
Error sumas suspensos y aprobados

Muy buenas, estoy un poco desesperado porque no encuentro el error, seguro que es una tonteria.
El programa trata de sumar los suspensos y aprobados de una clase de 10 en 4 asignaturas

Tengo dos problemas:
1.- La recogida de datos empieza con el alumno 1, asignatura 1, posteriormente asignatura 2 pero me mantiene el alumno 1, cuando deberia poner alumno 2.

2.- Una vez introducida las calificaciones, la primera asignatura me suma los suspensos y aprobados, pero los sucesivos lo que hace es sumar los anteriores no me contabiliza los suspensos ya aprobados de la segunda asignatura y asi sucesivamente.
Ruego un cable.

Os dejo el codigo.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define max_alumnos 10
  4. #define max_pruebas 4
  5. //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  6. int main()
  7. {
  8.  
  9. float notas[4][10];
  10. float nota[max_alumnos];
  11. float A[max_alumnos][max_pruebas];
  12. int prueba = 1,alumno = 1;
  13. int a,b,i,j,opc;
  14. int aprobados=0;
  15. int suspensos=0;
  16.  
  17.  
  18.  
  19. printf("Calculo aprobados y suspensos:\n");
  20.       for(a=0; a<max_pruebas; a++){
  21.           printf("\nNumero de Prueba %d: \n", prueba++);
  22.           for(b=0;b<max_alumnos;b++){
  23.               printf("Calificacion del Alumno %d:", alumno++);
  24.               scanf("%f", &A[a][b]);
  25.              alumno = 1;
  26.            {
  27.            if (A[a][b]>=5)
  28.               aprobados++;
  29.               else
  30.               suspensos++;
  31.              }
  32. }
  33.    printf("\nNOTAS DE LOS ALUMNOS");
  34.    printf("\nAlumnos aprobados ...............: %d",aprobados);
  35.    printf("\nAlumnos suspendidos .............: %d\n",suspensos);
  36.  
  37.     }
  38.  
  39.     system("pause");
  40. return 0;
  41. }