#include <stdlib.h>
#include <stdio.h>
#include <string.h>
typedef struct Aluno {
char nome[100];
int matricula;
float nota[2];
} Aluno;
Aluno cadastrarAluno() {
Aluno aluno;
printf("\nInsira o nome do aluno: ");
scanf("%s", &aluno.nome);
printf("\nInsira o numero de matricula: ");
scanf("%i", &aluno.matricula);
return aluno;
}
void adicionaNotas(Aluno aluno) {
printf("\nInsira a primeira nota de %s: ", aluno.nome);
scanf("%f", &aluno.nota[0]);
printf("\nInsira a segunda nota de %s: ", aluno.nome);
scanf("%f", &aluno.nota[1]);
}
void mostraResultados(Aluno aluno) {
float media = (aluno.nota[0] + aluno.nota[1]);
printf("\nAluno: %s\nMatricula: %i\nMedia: %f\n", aluno.nome, aluno.matricula, media);
if(media >= 7) {printf("Aprovado\n");} else {printf("Reprovado\n");}
}
int main() {
while(1) {
int escolha;
Aluno aluno[5];
printf("\n [1] Cadastrar\n [2] Lancar Notas\n [3] Listar Resultados\n [4] Sair\n \nDigite o numero da opcao desejada: ");
scanf("%i", &escolha);
if(escolha == 1) {int i; for(i = 0; i < 5; i++){aluno[i] = cadastrarAluno();}}
if(escolha == 2) {int i; for(i = 0; i < 5; i++){adicionaNotas(aluno[i]);}}
if(escolha == 3) {int i; for(i = 0; i < 5; i++){mostraResultados(aluno[i]);}}
if(escolha == 4) {
printf("\nFim do programa");
return 0;
}
}
}
Quando eu uso o menu 3 para mostrar os resultados ele não mostra a média.
Anexei uma imagem mostrando o problema