Leia com atenção as instruções abaixo.
Valor: 1,5 pontos na 2ª Nota.
Data da Entrega Limite: 01/10/2020
Nesta questão vamos exercitar as estruturas, uniões e enumerações na linguagem C. Você deve criar os tipos de dados para permitir representar um estudante, incluindo seu nome, disciplina, curso, avaliação e situação de consolidação. Para tal defina, no arquivo alunos.c, os seguintes tipos:
Após definição dos tipos, defina uma função chamada comparaEstudante que retorna verdadeiro caso dois estudantes sejam iguais, falso caso contrário. Para testar se seu programa está correto, a função main abaixo:
int main(int argc, char *argv[]) {
Estudante a = { .nome = "João Marcelo",
.disciplina = Paralela,
.curso = CC ,
.avaliacao.media = 7.0 ,
.consolidado = SIM };
Estudante b = { .nome = "João Marcelo",
.disciplina = Paralela,
.curso = CC ,
.avaliacao.notas = {7.0, 8.0, 6.0} ,
.consolidado = NAO };
printf("%s %d %d %.2f %d\n", a.nome,
a.disciplina,
a.curso,
a.avaliacao.media,
a.consolidado);
printf("%s %d %d %.2f %d\n", b.nome,
b.disciplina,
b.curso,
(b.avaliacao.notas[0] +
b.avaliacao.notas[1] +
b.avaliacao.notas[2])/3.0,
b.consolidado) ;
if (comparaEstudante(a, b)) {
printf("a e b iguais.\n");
} else {
printf("a e b diferentes.\n");
}
Estudante c = { .nome = "Maria do Carmo",
.disciplina = Compiladores,
.curso = ES ,
.avaliacao.media = 8.0 ,
.consolidado = SIM };
Estudante d = { .nome = "Francisco de Assis",
.disciplina = LIP,
.curso = EC ,
.avaliacao.notas = {2.0, 2.0, 6.0} ,
.consolidado = NAO };
printf("%s %d %d %.2f %d\n", c.nome,
c.disciplina,
c.curso,
c.avaliacao.media,
c.consolidado);
printf("%s %d %d %.2f %d\n", d.nome,
d.disciplina,
d.curso,
(d.avaliacao.notas[0] +
d.avaliacao.notas[1] +
d.avaliacao.notas[2])/3.0,
d.consolidado) ;
if (comparaEstudante(c, d)) {
printf("c e d iguais.\n");
} else {
printf("c e d diferentes.\n");
}
return 0;
}
Deve retornar a seguinte saída:
João Marcelo 2 0 7.00 1
João Marcelo 2 0 7.00 0
a e b iguais.
Maria do Carmo 1 1 8.00 1
Francisco de Assis 0 2 3.33 0
c e d diferentes.