Onde tah o erro??
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<alloc.h>
typedef struct cad{
char nome[30];
char end[40];
char cid[15];
char est[3];
char tel[12];
struct cad *prox;
}entrada_lista;
entrada_lista *inicio;
int agenda(void);
void inserir(void);
void alterar(void);
void remover(void);
void listartodos(void);
void listarultimo(void);
int main(void){
inicio=NULL;
for (;;){
switch(agenda()){
case '1':inserir();
break;
/* case '2':alterar();
break;*/
case '3':remover();
break;
case '4':listartodos();
break;
/*case '5':listarultimo();
break;*/
case '6':exit(0);
}
}
}
int agenda(void){
int c;
system("cls");
printf("\t\t********************************\n");
printf("\t\t*********** AGENDA *************\n");
printf("\t\t********************************\n");
printf("\nI - Inserir\n");
printf("\n2 - Alterar\n");
printf("\n3 - Remover\n");
printf("\n4 - Listar Todos\n");
printf("\n5 - Listar Ultimo\n");
printf("\n6 - Sair\n\n");
do{
printf("Opcao:");
scanf("%d",&c);
}while (c<0||c>6);
return c;
}
void inserir(void){
entrada_lista *info;
info=(entrada_lista *)malloc(sizeof(entrada_lista));
if (!info){
printf("\nSem Memoria");
return;
}
printf("digite o nome:");
gets(info->nome);
printf("digite o endereco:");
gets(info->end);
printf("digite a cidade:");
gets(info->cid);
printf("digite o estado:");
gets(info->est);
printf("digite o telefone:");
gets(info->tel);
info->prox=inicio;
inicio=info;
}
void remover(void){
entrada_lista *aux;
if (aux==NULL){
printf("erro");
return;
}
else{
aux=inicio;
inicio=inicio->prox;
free(aux);
}
}
void listartodos(void){
entrada_lista *percorre_lista;
percorre_lista=inicio;
printf("pessoas armazenadas\n\n");
while (percorre_lista!=NULL){
printf("\nnome:%s",percorre_lista->nome);
printf("\nend:%s",percorre_lista->end);
printf("\ncid:%s",percorre_lista->cid);
printf("\nest:%s",percorre_lista->est);
printf("\ntel:%s",percorre_lista->tel);
percorre_lista=percorre_lista->prox;
}
}