Caros Este programa precisa inserir nome do aluno e 4 notas. Listar o nome a media e se media>=6 aprovado se não reprovado meu código esta com erro podem me ajudar? #include <stdio.h>
#define true 1
struct prs{
char nome[100];
float n1,n2,n3,n4,media;
struct prs *ptrprox;
};
struct prs *ptrprim, *ptratual, *ptrnovo;
main(){
char ch;
ptrprim=(struct prs*)NULL;
while (true){
printf ("\nDigite 'e' para inserir");
printf ("\nDigte 'l' para a lista");
printf ("\n");
ch=getche();
switch (ch){
case 'e':novonome(); break;
case 'l':listatudo(); break;
defaut: ("\n Digite opções validas");
}
}
}
novonome(){
ptrnovo=(struct prs*) malloc(sizeof(struct prs));
if (ptrprim==(struct prs*)NULL){
ptrprim=ptrnovo;
ptratual=ptrnovo;
}else{
ptratual=ptrprim;
while(ptratual->ptrprox!=(struct prs*)NULL){
ptratual=ptratual->ptrprox;
}
ptratual->ptrprox=ptrnovo;
ptratual=ptrnovo;
}
printf ("\n Digite o nome ");
gets (ptratual->nome);
ptratual->ptrprox=(struct prs*)NULL;
printf ("\n Digite a primeira nota\n");
gets (ptratual->nome);
ptratual->ptrprox=(struct prs*)NULL;
printf ("\n Digite a segunda nota\n");
gets (ptratual->nome);
ptratual->ptrprox=(struct prs*)NULL;
printf ("\n Digite a terceira nota\n");
gets (ptratual->nome);
ptratual->ptrprox=(struct prs*)NULL;
printf ("\n Digite a quarta nota\n");
gets (ptratual->nome);
ptratual->ptrprox=(struct prs*)NULL;
(*ptratual).media=((*ptratual).n1+(*ptratual).n2+(*ptratual).n3+(*ptratual).n4)/4;
if((*ptratual).media>=6)
printf("Aprovado");
else{
printf("Aluno reprovado");
}
}
listatudo(){
if(ptrprim==(struct prs*)NULL){
printf ("\n lista vazia \n");
(*ptratual).media=((*ptratual).n1+(*ptratual).n2+(*ptratual).n3+(*ptratual).n4)/4;
if((*ptratual).media>=6)
printf("Aprovado");
else{
printf("Aluno reprovado");
}
return;
}
ptratual=ptrprim;
do{
printf ("\n nome%s\n", ptratual->nome);
ptratual=ptratual->ptrprox;
printf ("\n Media %f\n", ptratual->media);
ptratual=ptratual->ptrprox;
}while (ptratual!=(struct prs*)NULL);
}