Estou fazendo esse exercício aqui, consegui fazer todos os itens pedidos no menu, menos o item 2, preciso mostrar qual é o estudante com a maior média em LPI.
O enunciado: Crie um programa em C que cadastre os dados de 5 alunos. Os dados a serem
cadastrados são: nome, matrícula, endereço, sexo, os nomes das 3 disciplinas e as 3
notas de cada disciplina que ele está cursando.
Os dados devem ser cadastrados em um vetor e/ou matriz.
Após o cadastro informe:
a)Os dados dos alunos cadastrados e a sua situação ("aprovado" ou
"reprovado") em cada disciplina.
b)Os dados do aluno com maior média em "LPI".
c)A média geral dos alunos na disciplina "Algoritmo".
d)A quantidade de alunos(as) reprovados em qualquer disciplina.
OBS.:1) Usar uma estrutura switch para mostrar os resultados calculados.
2) Para o aluno ser aprovado a média das notas deve ser >= 6.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<locale.h>
main(){
setlocale(LC_ALL, "Portuguese");
char nome[5][50], end[5][50], disc[5][50], sexo[5][20];
int mat[5], nLPI[5][3], nAlg[5][3], nDisc[5][3], reprovado = 0;
float totalLPI[5], mediaLPI[5], maiorLPI, totalAlg[5], mediaAlg[5], maiorAlg, totalDisc[5], mediaDisc[5], maiorDisc, totalGeralAlg, mediaGeralAlg;
int i, j, k, l, menu;
for(i=0;i<5;i++){
printf("\n\nDIGITE OS DADOS DO ALUNO %d", i+1);
printf("\nNOME: ");
fflush(stdin);
fgets(nome[i], 40, stdin);
printf("MATRICULA: ");
scanf("%d", &mat[i]);
printf("ENDEREÇO: ");
fflush(stdin);
fgets(end[i], 40, stdin);
printf("SEXO (palavra completa): ");
fflush(stdin);
fgets(sexo[i], 20, stdin);
printf("\nDISCIPLINA 1: LPI\n");
for(k=0;k<3;k++){
l=0;
printf("NOTA %d: ", k+1);
scanf("%d", &nLPI[l][k]);
totalLPI[i] += nLPI[l][k];
l++;
}
mediaLPI[i] = totalLPI[i]/3;
if(mediaLPI[i] < 6){
reprovado++;
}
printf("\nDISCIPLINA 2: Algoritmo\n");
for(k=0;k<3;k++){
l=0;
printf("NOTA %d: ", k+1);
scanf("%d", &nAlg[l][k]);
totalAlg[i] += nAlg[l][k];
l++;
}
mediaAlg[i] = totalAlg[i]/3;
if(mediaAlg[i] < 6){
reprovado++;
}
printf("\nDIGITE A DISCIPLINA 3: ");
fflush(stdin);
fgets(disc[i], 40, stdin);
for(k=0;k<3;k++){
l=0;
printf("NOTA %d: ", k+1);
scanf("%d", &nDisc[l][k]);
totalDisc[i] += nDisc[l][k];
l++;
}
mediaDisc[i] = totalDisc[i]/3;
if(mediaDisc[i] < 6){
reprovado++;
}
}
fflush(stdin);
do{
printf("\nESCOLHA UMA DAS OPÇÕES ABAIXO\n");
printf("1) Os dados dos alunos cadastrados e a sua situação (\"aprovado\" ou \"reprovado\") em cada disciplina.\n");
printf("2) Os dados do aluno com maior média em \"LPI\".\n");
printf("3) A média geral dos alunos na disciplina \"Algoritmo\"\n");
printf("4) A quantidade de alunos(as) reprovados em qualquer disciplina.\n");
printf("5) FINALIZAR O PROGRAMA.\n");
scanf("%d", &menu);
switch(menu){
case 1:
for(i=0;i<5;i++){
printf("=================================");
printf("\n\nDADOS DO ALUNO %d\n", i+1);
printf("NOME: %s", nome[i]);
printf("MATRICULA: %d\n", mat[i]);
printf("ENDEREÇO: %s", end[i]);
printf("SEXO: %s\n", sexo[i]);
if(mediaLPI[i] >= 6){
printf("SITUAÇÃO EM LPI: Aprovado\n");
} else{
printf("SITUAÇÃO EM LPI: Reprovado\n");
}
if(mediaAlg[i] >= 6){
printf("SITUAÇÃO EM ALGORITMOS: Aprovado\n");
} else{
printf("SITUAÇÃO EM ALGORITMOS: Reprovado\n");
}
if(mediaDisc[i] >= 6){
printf("SITUAÇÃO EM %s : Aprovado\n", disc[i]);
} else{
printf("SITUAÇÃO EM %s : Reprovado\n", disc[i]);
}
}
break;
case 2:
if(mediaLPI[0]>mediaLPI[1] && mediaLPI[0]>mediaLPI[2] && mediaLPI[0]>mediaLPI[3] && mediaLPI[0]>mediaLPI[4]){
i=0;
j=0;
printf("DADOS DO ALUNO COM MAIOR MÉIA EM LPI\n");
printf("NOME: %s\nMATRÍCULA: %d\nENDEREÇO: %s\nSEXO: %s\n", nome[i], mat[i], end[i], sexo[i]);
printf("DISC 1: LPI\nNOTA 1: %d\tNOTA 2: %d\tNOTA 3: %d\tMÉDIA: %.2f\n", nLPI[i][j], nLPI[i][j+1], nLPI[i][j+2], mediaLPI[i]);
}
else if(mediaLPI[1]>mediaLPI[0] && mediaLPI[1]>mediaLPI[2] && mediaLPI[1]>mediaLPI[3] && mediaLPI[1]>mediaLPI[4]){
i=1;
j=0;
printf("DADOS DO ALUNO COM MAIOR MÉIA EM LPI\n");
printf("NOME: %s\nMATRÍCULA: %d\nENDEREÇO: %s\nSEXO: %s\n", nome[i], mat[i], end[i], sexo[i]);
printf("DISC 1: LPI\nNOTA 1: %d\tNOTA 2: %d\tNOTA 3: %d\tMÉDIA: %.2f\n", nLPI[i][j], nLPI[i][j+1], nLPI[i][j+2], mediaLPI[i]);
}
else if(mediaLPI[2]>mediaLPI[0] && mediaLPI[2]>mediaLPI[1] && mediaLPI[2]>mediaLPI[3] && mediaLPI[2]>mediaLPI[4]){
i=2;
j=0;
printf("DADOS DO ALUNO COM MAIOR MÉIA EM LPI\n");
printf("NOME: %s\nMATRÍCULA: %d\nENDEREÇO: %s\nSEXO: %s\n", nome[i], mat[i], end[i], sexo[i]);
printf("DISC 1: LPI\nNOTA 1: %d\tNOTA 2: %d\tNOTA 3: %d\tMÉDIA: %.2f\n", nLPI[i][j], nLPI[i][j+1], nLPI[i][j+2], mediaLPI[i]);
}
else if(mediaLPI[3]>mediaLPI[0] && mediaLPI[3]>mediaLPI[1] && mediaLPI[3]>mediaLPI[2] && mediaLPI[3]>mediaLPI[4]){
i=3;
j=0;
printf("DADOS DO ALUNO COM MAIOR MÉIA EM LPI\n");
printf("NOME: %s\nMATRÍCULA: %d\nENDEREÇO: %s\nSEXO: %s\n", nome[i], mat[i], end[i], sexo[i]);
printf("DISC 1: LPI\nNOTA 1: %d\tNOTA 2: %d\tNOTA 3: %d\tMÉDIA: %.2f\n", nLPI[i][j], nLPI[i][j+1], nLPI[i][j+2], mediaLPI[i]);
}
else if(mediaLPI[4]>mediaLPI[0] && mediaLPI[4]>mediaLPI[1] && mediaLPI[4]>mediaLPI[2] && mediaLPI[4]>mediaLPI[3]){
i=4;
j=0;
printf("DADOS DO ALUNO COM MAIOR MÉIA EM LPI\n");
printf("NOME: %s\nMATRÍCULA: %d\nENDEREÇO: %s\nSEXO: %s\n", nome[i], mat[i], end[i], sexo[i]);
printf("DISC 1: LPI\nNOTA 1: %d\tNOTA 2: %d\tNOTA 3: %d\tMÉDIA: %.2f\n", nLPI[i][j], nLPI[i][j+1], nLPI[i][j+2], mediaLPI[i]);
}
break;
case 3:
totalGeralAlg=0;
for(i=0;i<5;i++){
totalGeralAlg += mediaAlg[i];
}
mediaGeralAlg = totalGeralAlg/5;
printf("A MÉDIA GERAL DA DISCIPLINA ALGORISMOS: %.2f\n", mediaGeralAlg);
break;
case 4:
printf("A QUANTIDADE DE ALUNOS REPROVADOS EM QUALQUER DISCIPLINA É: %d\n", reprovado);
break;
}
}
while(menu!=5);
printf("FIM DO PROGRAMA");
}