Enviado em 14/10/2017 - 09:50h
Bom dia a todos. Estou tentando fazer um programa simples de cadastro usando ponteiros.
#include <stdio.h>
#include <stdlib.h>
typedef struct{
char nome[42];
int idade;
float altura;
float notas[4];
}ALUNO;
ALUNO* getAluno();
void exibirAluno(ALUNO*);
int main(void){
ALUNO* alu;
alu = getAluno();
exibirAluno(alu);
free(alu);
return 0;
}
ALUNO* getAluno(){
ALUNO *aluno;
int i;
printf("Nome completo: ");
fgets(aluno->nome, 42, stdin);
while(getchar() != '\n');
printf("Idade: ");
scanf("%d", &aluno->idade);
while(getchar() != '\n');
printf("Altura: ");
scanf("%f", &aluno->altura);
while(getchar() != '\n');
for(i = 0; i < 4; i++){
printf("%da. Nota: ", i + 1);
scanf("%f", &aluno->notas[i]);
while(getchar() != '\n');
}
return aluno;
}
void exibirAluno(ALUNO *aluno){
int i;
system("clear");
printf("Nome completo: %s\n", aluno->nome);
printf("Idade: %d\n", aluno->idade);
printf("Altura: %5.2f\n", aluno->altura);
for(i = 0; i < 4; i++){
printf("%da.nota: %5.2f\n", i + 1, aluno->notas[i]);
}
}