Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2014
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. float
  2. CalcularMedias (float turma[NUMERO_MAXIMO_ALUNOS][NUMERO_TOTAL_NOTAS],
  3. unsigned numeroAlunos,
  4. float notaFinal[NUMERO_MAXIMO_ALUNOS],
  5. float mediaArit[NUMERO_TOTAL_PROVAS],
  6. float *maiorNota,
  7. float *menorNota,
  8. tipoErros *retorno)
  9. {
  10. unsigned indice, indice2;
  11. float notas [NUMERO_TOTAL_NOTAS];
  12. float somaNotas, mediaGeral, somaMedias;
  13.  
  14. if (!retorno || !maiorNota || !menorNota)
  15. return PONTEIRO_VAZIO;
  16.  
  17. printf ("numeroAlunos = %i\n", numeroAlunos);
  18.  
  19. if ((numeroAlunos > 51) || (numeroAlunos < 0))
  20. {
  21. *retorno = numeroAlunosInvalido;
  22. return ARGUMENTO_INVALIDO;
  23. }
  24.  
  25. for (indice = 0; indice < numeroAlunos; indice++)
  26. for (indice2 = 0; indice < NUMERO_NOTAS; indice++)
  27. if ((turma[indice][indice2] < NOTA_MINIMA) || (turma[indice][indice2]> NOTA_MAXIMA))
  28. {
  29. *retorno = notaInvalida;
  30. return (ARGUMENTO_INVALIDO);
  31. }
  32.  
  33. printf ("1\n");
  34.  
  35. for (indice = 0; indice < numeroAlunos; indice++)
  36. {
  37. for (indice2 = 0; indice < NUMERO_TOTAL_NOTAS; indice2++)
  38. notas[indice2] = turma[indice][indice2];
  39. notaFinal[indice] = CalcularMediaAluno(notas, retorno);
  40. }
  41.  
  42. printf ("2\n");
  43.  
  44. for (indice2 = 0; indice < NUMERO_TOTAL_NOTAS; indice++)
  45. {
  46. for (indice = 0, somaNotas = 0; indice < numeroAlunos; indice++)
  47. somaNotas += turma[indice][indice2];
  48. mediaArit[indice2] = somaNotas;
  49. }
  50.  
  51. printf ("3\n");
  52.  
  53. for (indice = 0, *maiorNota = notaFinal[indice]; indice < numeroAlunos-1 ; indice++)
  54. if (notaFinal[indice+1] > *maiorNota)
  55. *maiorNota = notaFinal[indice+1];
  56.  
  57. printf ("4\n");
  58.  
  59. for (indice = 0, *menorNota = notaFinal[indice]; indice < numeroAlunos-1 ; indice++)
  60. if (notaFinal[indice+1] < *menorNota)
  61. *menorNota = notaFinal[indice+1];
  62.  
  63. printf ("5\n");
  64.  
  65. for (indice = 0, somaMedias = 0; indice < numeroAlunos; indice++)
  66. somaMedias += notaFinal[indice];
  67.  
  68. mediaGeral = somaMedias / numeroAlunos;
  69.  
  70. *retorno = ok;
  71. return mediaGeral;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement