Advertisement
LuandaBernardo

ERRADO

Dec 11th, 2014
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.57 KB | None | 0 0
  1. /*1º quesito: O NTI acha que o Siga está muito lento e pede aos alunos de Computação Eletrônica para reescrever o programa.
  2.  O módulo que está sob sua responsabilidade de desenvolvimento realiza as tarefas seguintes:
  3. - Ler as notas do aluno;
  4. - Definir a situação (Aprovado/Reprovado por média, etc).
  5.  
  6. Para realizar esta tarefa, vamos representar um aluno com uma estrutura TAluno contendo:
  7. - Número do aluno (inteiro);
  8. - Notas do aluno (vetor de 5 elementos float, em ordem: 3 avaliações, a prova de 2a chamada e a prova final);
  9. - Média do aluno (float);
  10. - Situação do aluno (representado por um valor inteiro).
  11.    * Situação 0 ? caso nProvasPerdidas >= 2 e o valor da Média deve ser atribuído= -1;
  12.    * Situação 1 ? caso mediaSemestre < 3 (Reprovado por média) e Média = mediaSemestre;
  13.    * Situação 2 ? caso mediaSemestre >= 7 (Aprovado por média) e Média = mediaSemestre;
  14.    * Situação 3 ? caso mediaGlob <5 (Reprovado na final) e Média = mediaGlob;
  15.    * Situação 4 ? caso mediaGlob >=5 (Aprovado na final) e Média = mediaGlob.
  16. (A mediaGlob a média entre mediaSemestre – média entre as 3 avaliações – e a nota da prova final).
  17.  
  18. a)  Escreva uma função TAluno cadastraNotas() que solicite do professor o número e as notas de um aluno, e que retorna o TAluno correspondente.
  19.  Caso um aluno não tenha feito uma prova, a nota dessa prova deve ser -1.
  20. b)  Escreva uma função void calculaIndicadores(TAluno a, int* nProvasPerdidas, float* mediaSemestre) que calcula a quantidade de provas perdidas do
  21. TAluno e sua média entre as 3 primeira provas + 2a chamada, atualizando assim as variáveis nProvasPerdidas e mediaSemestre.
  22. c)  Escreva no programa principal de forma que solicite ao professor que vai usar a ferramenta a quantidade de alunos N e, para cada aluno, realizar de forma repetitiva:
  23. a.  Chame a função cadastrarNotas;
  24. b.  Chame a função calcularIndicadores;
  25. c.  Com estes dados, atualize a situação e a média do aluno.
  26. Obs.: Não precisa validar as entradas do professor: ele nunca erra!*/
  27. #include<stdio.h>
  28. #include<conio.h>
  29. #include<stdlib.h>
  30.  
  31. typedef struct {
  32.     int num, situacao;
  33.     float media, n[5];
  34. }TAluno;
  35.  
  36.  
  37. TAluno cadastranotas () {
  38. TAluno a;
  39. printf ("\n Digite o numero do Aluno:");
  40. scanf ("%d", &a.num);
  41. printf ("\n Digite a nota da EE1:");
  42. scanf ("%f", &a.n[0]);
  43. printf ("\n Digite a nota da EE2:");
  44. scanf ("%f", &a.n[1]);
  45. printf ("\n Digite a nota da EE3:");
  46. scanf ("%f", &a.n[2]);
  47. printf ("\n Digite a nota da 2ª chamada:");
  48. scanf ("%f", &a.n[3]);
  49. printf ("\n Digite a nota da Final:");
  50. scanf ("%f", &a.n[4]);
  51. return a;
  52. }
  53. void calculaIndicadores(TAluno a, int* nProvasPerdidas, float* mediaSemestre)
  54. {
  55. * nProvasPerdidas = 0;
  56.     if (a.n[0]==-1)
  57.         {
  58.     * nProvasPerdidas++;
  59.     * mediaSemestre =( a.n[1] + a.n[2]+ a.n[3] )/3;
  60.     }
  61.     if (a.n[1]==-1)
  62. {
  63.     * nProvasPerdidas++;
  64.     * mediaSemestre =( a.n[0] + a.n[2]+ a.n[3] )/3;
  65. }
  66.         if (a.n[2]==-1)
  67. {   * mediaSemestre =( a.n[0] + a.n[1]+ a.n[3] )/3;
  68.     * nProvasPerdidas++;
  69.     }
  70.     if (*nProvasPerdidas>=2)
  71. {    
  72.     * mediaSemestre = -1;}
  73.     if (*nProvasPerdidas==0)
  74. {
  75.     *mediaSemestre = (a.n[1] + a.n[2]+ a.n[0])/3;}
  76.     if (*mediaSemestre<3)
  77.     {
  78.         printf ("\n Reprovado por média!");
  79.     }
  80.    
  81.    
  82.    
  83.    
  84. }
  85. main ()
  86. { TAluno a;
  87.     int n, i,perdas ;
  88.     float M;
  89.    
  90.     printf ("\n Digite o numero de alunos:");
  91.     scanf ("%d", &n);
  92.     for (i=0; i<n; i++)
  93.     { printf ("\n \n \n \n ");
  94.         a =  cadastranotas ();
  95. calculaIndicadores ( a, &perdas, &M);
  96. printf ("Numero de provas perdidas: %d", perdas);
  97. printf ("\n Media = %.2f", M);
  98.  
  99.     }
  100.  
  101.  
  102.  
  103.  
  104.    
  105.    
  106.    
  107.    
  108.    
  109.     getch ();
  110.     return 0;
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement