Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
O exercício é o seguinte:
Crie uma estrutura que represente os dados de um
aluno, possuindo os campos nome, nota.
Em seguida, peça ao usuário para informar a
quantidade de alunos que deseja entrar e solicite o
nome e a nota de cada aluno e armazene-os em
um vetor. Após a entrada de dados, o sistema
deverá informar a situação do aluno (aprovado, se
nota>=7 e reprovado se nota < 7). Como saída, o
sistema deverá exibir as informações de todos os
alunos.
Na parte de alocar ou realocar o vetor dados da struct, não sei como fazer, fiz com sizeof mas não sei se tá certo,
já tentei com realloc e malloc e todos dão erro... Alguém pode ver se está certo, ou se estiver errado me dizer como posso modificá-lo?
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
struct Aluno {
char nome[100];
float nota;
};
main(){
int qaluno;
Aluno dados[1];
printf("Informe a quantidade de alunos==> ");
scanf("%d", &qaluno);
dados[sizeof(qaluno)]; //aki ele estaria realocando o vetor dados que é um vetor de struct?
for(int i=0;i<qaluno;i++){
printf("\nAluno %d\n", i+1);
fflush(stdin);
printf("\nInforme o nome: ");
gets(dados[i].nome);
printf("\nInforme a nota: ");
scanf("%f",&dados[i].nota);
}
system("cls");
printf("---SITUACAO DOS ALUNOS---\n\n");
for(int i=0;i<qaluno;i++){
printf("\n\nAluno %d\n", i+1);
printf("\nNome: %s",dados[i].nome);
printf("\nNota: %2.2f", dados[i].nota);
if(dados[i].nota >=7){
printf("\nAluno Aprovado.");
}
else {
printf("\nAluno reprovado.");
}
}
free(ptr);
getch();
}Carregando comentários...