-
Notifications
You must be signed in to change notification settings - Fork 1
/
3_21.c
64 lines (56 loc) · 1.17 KB
/
3_21.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <stdio.h>
#include <stdlib.h>
/*
Construa um algoritmo que leia as três notas de
50 alunos de uma turma. Para cada aluno, calcule a
média ponderada, como segue:
MP = ( n1*2 + n2*4 + n3*3 ) / 10. Além disso,
calcule a média geral da
turma. Mostre a média de cada aluno e uma mensagem "Aprovado",
caso a média seja maior ou igual a
sete, e uma mensagem "Reprovado", caso contrário. No final,
mostre a média geral
*/
void calc_media_aluno(struct aluno *a)
{
a->media = ( a->n1*2 + a->n2*4 + a->n3*3 ) / 10;
}
struct aluno{
int n1;
int n2;
int n3;
float media;
};
struct turma{
struct aluno alunos[50];
float media;
};
int passou(struct aluno *a)
{
return a->media >= 10.0;
}
void calc_media_turma(struct turma *t)
{
float acc = 0;
int i;
for(i = 0; i < 50; i++){
calc_media_aluno(&t->alunos[i]);
if(passou(&t->alunos[i])){
printf("aluno passou\n");
}else{
printf("aluno chumbou\n");
}
acc = (acc + t->alunos[i].media);
}
t->media = acc/50;
}
void ex_3_21()
{
struct turma am_lp;
calc_media_turma(&am_lp);
}
int main()
{
ex_3_21();
return 0;
}