Galera, estou com um problema. Depois que coloco esse programa para compilar, ele lê os dados que o usuário insere porém na função de imprimir para no meio da execução e sai do programa, o que eu errei?
#include <stdio.h>
#include <stdlib.h>
#define TAM 30
char opc;
typedef struct lista
{
int codigo;
float media;
struct lista *prox;
}LISTA;
LISTA*inicia()
{
return NULL;
}
LISTA*cadastrar(LISTA*l)
{
LISTA*elem = (LISTA*)malloc(sizeof(LISTA));
if(elem == NULL)
{
exit(1); // SE NÃO ALOCOU O NOVO ELEMENTO, SAIA DO PROGRAMA.
}
printf("INFORME O CODIGO DO ALUNO: ");
scanf(" %d", elem->codigo);
printf("INFORME A MEDIA DO ALUNO: ");
scanf(" %f", elem->media);
Pergunta
Johny Macedo
Booa noite.
Galera, estou com um problema. Depois que coloco esse programa para compilar, ele lê os dados que o usuário insere porém na função de imprimir para no meio da execução e sai do programa, o que eu errei?
#include <stdio.h>
#include <stdlib.h>
#define TAM 30
char opc;
typedef struct lista
{
int codigo;
float media;
struct lista *prox;
}LISTA;
LISTA*inicia()
{
return NULL;
}
LISTA*cadastrar(LISTA*l)
{
LISTA*elem = (LISTA*)malloc(sizeof(LISTA));
if(elem == NULL)
{
exit(1); // SE NÃO ALOCOU O NOVO ELEMENTO, SAIA DO PROGRAMA.
}
printf("INFORME O CODIGO DO ALUNO: ");
scanf(" %d", elem->codigo);
printf("INFORME A MEDIA DO ALUNO: ");
scanf(" %f", elem->media);
elem->prox=l;
return elem;
}
LISTA*imprimi_cadastro(LISTA*l)
{
LISTA*aux;
for(aux=l; aux!=NULL; aux=aux->prox)
printf("CODIGO: %d\n", aux->codigo);
printf("MEDIA: %f", aux->media);
}
int main()
{
LISTA*l;
inicia();
while(opc != 'S'){
l = cadastrar(l);
l = imprimi_cadastro(l);
printf("\nDESEJA CONTINUAR?(S)<SAIR> (C)<CONTINUAR>: ");
scanf(" %c", &opc);
printf("\n");
}
system ("pause");
return 0;
}
POR FAVOR ME AJUDEM
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.