Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

osley

Lista Encadeada em C

Recommended Posts

Pessoal sou novo na area de programação, só que estou com um problema, tenho um trabalho para fazer só que não estou conseguindo resolver.

O meu professor pediu para fazer um programa para;

Inserir

Listar

Excluir

e inserir no meio de duas fichas

Ele que em lista encadeada e Duplamente encadeada

Abaixo segue oque eu tentei fazer só que nã esta funcioando direito.

Se alguem puder me ajudar fico grato.

 

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

#include <io.h>

typedef struct

{

char rua[50];

char bairro[20];

char cidade[30];

char estado[3];

char cep[10];

}tendereco;

struct tficha

{

char nome[50];

char telefone[15];

tendereco endereco;

struct tficha *prox;

tficha *ant;

};

tficha *primeiro=NULL;

tficha *ultimo=NULL;

void insere(tficha *p)

{

char y[2];

int i;

i=0;

do

{

printf("Nome:>");

gets(p->nome);

printf("Telefone:>");

gets(p->telefone);

printf("Rua:>");

gets(p->endereco.rua);

printf("Bairro:>");

gets(p->endereco.bairro);

printf("Cidade:>");

gets(p->endereco.cidade);

printf("Estado:>");

gets(p->endereco.estado);

printf("Cep:>");

gets(p->endereco.cep);

printf("Deseja digitar outra ficha?[s/N]");

scanf("%s",&y);

if (primeiro==NULL);

primeiro=p;

p->prox=NULL;

p->ant=ultimo;

if (ultimo!=NULL)

ultimo->prox=p;

ultimo=p;

i++;

}while(y[0]=='s') ;

}

void mostra(tficha *p,int i)

{

printf(" Nome:> %s\n",p.nome);

printf("Telefone:> %s\n",p.telefone);

printf(" Rua:> %s\n",p.endereco.rua);

printf(" Bairro:> %s\n",p.endereco.bairro);

printf(" Cidade:> %s\n",p.endereco.cidade);

printf(" Estado:> %s\n",p.endereco.estado);

printf(" Cep:> %s\n",p.endereco.cep);

}

main()

{

tficha p[50];

int nficha , x;

do

{

do

{

printf("*Escolha a Opcao*\n");

printf("1-> Insirir:\n");

printf("2-> Mostrar:\n");

printf("3-> Sair:\n");

scanf("%d",&x);

}while(1>x>3);

switch(x)

{

case 1:

{

insere(p);

break;

}

case 2:

{

printf("Digite o Numero da Ficha que deseja ver?\n");

scanf("%d",&nficha);

mostra(p,nficha);

break;

}

default:

{

printf("TCHAUUUU");

}

}

getch();

}while(x!=3);

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce num deve por

 

struct tficha *prox;  tficha *ant;
só coloque

tficha *prox;tFicha *ant;

num precisa do struct, pq você jah tah nele

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.