Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*1º quesito: O NTI acha que o Siga está muito lento e pede aos alunos de Computação Eletrônica para reescrever o programa.
- O módulo que está sob sua responsabilidade de desenvolvimento realiza as tarefas seguintes:
- - Ler as notas do aluno;
- - Definir a situação (Aprovado/Reprovado por média, etc).
- Para realizar esta tarefa, vamos representar um aluno com uma estrutura TAluno contendo:
- - Número do aluno (inteiro);
- - Notas do aluno (vetor de 5 elementos float, em ordem: 3 avaliações, a prova de 2a chamada e a prova final);
- - Média do aluno (float);
- - Situação do aluno (representado por um valor inteiro).
- * Situação 0 ? caso nProvasPerdidas >= 2 e o valor da Média deve ser atribuído= -1;
- * Situação 1 ? caso mediaSemestre < 3 (Reprovado por média) e Média = mediaSemestre;
- * Situação 2 ? caso mediaSemestre >= 7 (Aprovado por média) e Média = mediaSemestre;
- * Situação 3 ? caso mediaGlob <5 (Reprovado na final) e Média = mediaGlob;
- * Situação 4 ? caso mediaGlob >=5 (Aprovado na final) e Média = mediaGlob.
- (A mediaGlob a média entre mediaSemestre – média entre as 3 avaliações – e a nota da prova final).
- 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.
- Caso um aluno não tenha feito uma prova, a nota dessa prova deve ser -1.
- b) Escreva uma função void calculaIndicadores(TAluno a, int* nProvasPerdidas, float* mediaSemestre) que calcula a quantidade de provas perdidas do
- TAluno e sua média entre as 3 primeira provas + 2a chamada, atualizando assim as variáveis nProvasPerdidas e mediaSemestre.
- 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:
- a. Chame a função cadastrarNotas;
- b. Chame a função calcularIndicadores;
- c. Com estes dados, atualize a situação e a média do aluno.
- Obs.: Não precisa validar as entradas do professor: ele nunca erra!*/
- #include<stdio.h>
- #include<conio.h>
- #include<stdlib.h>
- typedef struct {
- int num, situacao;
- float media, n[5];
- }TAluno;
- TAluno cadastranotas () {
- TAluno a;
- printf ("\n Digite o numero do Aluno:");
- scanf ("%d", &a.num);
- printf ("\n Digite a nota da EE1:");
- scanf ("%f", &a.n[0]);
- printf ("\n Digite a nota da EE2:");
- scanf ("%f", &a.n[1]);
- printf ("\n Digite a nota da EE3:");
- scanf ("%f", &a.n[2]);
- printf ("\n Digite a nota da 2ª chamada:");
- scanf ("%f", &a.n[3]);
- printf ("\n Digite a nota da Final:");
- scanf ("%f", &a.n[4]);
- return a;
- }
- void calculaIndicadores(TAluno a, int* nProvasPerdidas, float* mediaSemestre)
- {
- * nProvasPerdidas = 0;
- if (a.n[0]==-1)
- {
- * nProvasPerdidas++;
- * mediaSemestre =( a.n[1] + a.n[2]+ a.n[3] )/3;
- }
- if (a.n[1]==-1)
- {
- * nProvasPerdidas++;
- * mediaSemestre =( a.n[0] + a.n[2]+ a.n[3] )/3;
- }
- if (a.n[2]==-1)
- { * mediaSemestre =( a.n[0] + a.n[1]+ a.n[3] )/3;
- * nProvasPerdidas++;
- }
- if (*nProvasPerdidas>=2)
- {
- * mediaSemestre = -1;}
- if (*nProvasPerdidas==0)
- {
- *mediaSemestre = (a.n[1] + a.n[2]+ a.n[0])/3;}
- if (*mediaSemestre<3)
- {
- printf ("\n Reprovado por média!");
- }
- }
- main ()
- { TAluno a;
- int n, i,perdas ;
- float M;
- printf ("\n Digite o numero de alunos:");
- scanf ("%d", &n);
- for (i=0; i<n; i++)
- { printf ("\n \n \n \n ");
- a = cadastranotas ();
- calculaIndicadores ( a, &perdas, &M);
- printf ("Numero de provas perdidas: %d", perdas);
- printf ("\n Media = %.2f", M);
- }
- getch ();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement