#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
/*
Assunto .: Utilizando Ponteiros
*/
// definindo estrutura do no
typedef struct Tno
{
int valor;
struct Tno *prox;
} Tno, *no;
// definindo estrutura da lista
typedef struct Tlista
{
int tam;
no prim;
no ultimo;
no marcador;
} Tlista, *lista;
// Funcao para Inserir
lista InsertLista( int elemento, lista l )
{
no novo;
novo = (no) malloc( 1 * sizeof( Tno ) );
novo -> valor = elemento;
novo -> prox = NULL;
if ( l -> tam == 0 )
{
l -> prim = novo;
l -> ultimo = novo;
l -> marcador = novo;
}
if( l-> marcador != l-> ultimo )
{
novo-> prox = l-> marcador-> prox;
l-> marcador-> prox = novo;
}
else
{
l -> marcador -> prox = novo;
novo -> prox = NULL;
l -> ultimo = novo;
}
l -> marcador = novo;
l -> tam + 1;
return l;
}
//Funcao para Iniciar Lista
lista Inicia_Lista( lista l )
{
l = (lista) malloc( 1 * sizeof( Tlista ) );
l -> tam = 0;
l -> prim = NULL;
l -> ultimo = NULL;
l -> marcador = NULL;
return l;
}
//Funcao para Imprimir Lista
lista ImprimeLista( lista l )
{
l-> marcador = l-> prim;
// while( l -> marcador != NULL )
while ( l-> marcador-> prox != NULL )
{
printf("%d\n", l-> marcador-> valor);
l-> marcador = l-> marcador-> prox;
}
return l;
}
//Programa Principal
int main()
{
int escolha=1;
int opcao = 0;
lista l;
while (escolha != 4)
{
printf("\n\n ----------------------- ");
printf("\n 1 - Inserir um elemento na lista ");
printf("\n 2 - Eliminar um elemento ");
printf("\n 3 - Imprimir a lista ");
printf("\n 4 - Sair do programa ");
printf("\n\n Escolha uma opcao: ");
scanf("%d",&escolha);
// estrutura switch
switch (escolha) {
case 1:
{
printf("\n\n Digite um elemento para inserir na lista: ");
scanf("%d",&opcao);
for(int i=0; i<opcao; i++)
l = InsertLista(i, l);
break;
}
case 2:
{
printf("\n\n Eliminar um elemento: ");
scanf("%d",&opcao);
break;
}
case 3:
{
printf("\n\n Imprimir a lista: ");
scanf("%d",&opcao);
ImprimeLista(l);
break;
}
case 4:
{
printf("\n\n O programa sera fechado em 5 segundos....");
system("close");
}
default:
{
printf("\n\n Escolha uma opção do menu!");
}
}
}
//-----------
l = Inicia_Lista(l);
for(int i=0; i<10; i++)
l = InsertLista(i, l);
ImprimeLista(l);
return(0);
}
Estou com um problema na chamada das funcoes quando o usuario informa os mesmo
no menu...
não estou consigando por exemplo...quando o usuario infomar a opcao 1) ele tem que digitar
o elemento para inserir na lista e a opcao 3) tem que imprimir a lista de acordo com esse elemento informado, so que não estou conseguindo fazer isso!!
Pergunta
BrunoSilva
Estou com um problema na chamada das funcoes quando o usuario informa os mesmo
no menu...
não estou consigando por exemplo...quando o usuario infomar a opcao 1) ele tem que digitar
o elemento para inserir na lista e a opcao 3) tem que imprimir a lista de acordo com esse elemento informado, so que não estou conseguindo fazer isso!!
Link para o comentário
Compartilhar em outros sites
1 resposta 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.