Ir para conteúdo

Recommended Posts

Preciso fazer uma lista duplamente encadeada para ela inserir os números, mostrando eles, localizar em qual posição eles estão e excluir. Eu fiz o código, mas preciso que os números mostrem o número atual, o anterior e o próximo. Que na hora de compilar, que ele mostre o numero anterior, o atual e o próximo em um pequeno menuzinho.

 

Segue o código que eu criei até agora. 

 

 

 

 

#include <stdio.h>


struct Lista{


int num;

struct Lista *prox;

struct Lista *ant;

};


struct Lista* criarNovoElemento(){

struct Lista *novo = NULL;

novo = malloc(sizeof(struct Lista));


printf("Informe o numero..: ");

scanf("%i", &(*novo).num);

(*novo).prox = NULL;




return novo;

}


inserir (struct Lista **a){

if (*a == NULL){

*a = criarNovoElemento();

} else{

struct Lista *aux;

aux = *a;

while( (*aux).prox != NULL){

aux = (*aux).prox;

}

(*aux).prox = criarNovoElemento();


}

}


mostrar(struct Lista **a){

if (*a == NULL){

printf("\n....Cadastro vazio....\n");

} else{

struct Lista *aux;

aux = *a;

while( aux != NULL){


printf("\nAtual..: %i", (*aux).num);

aux = (*aux).prox;



}

}

printf("\n");

system("pause");

}


localizar (struct Lista **a){

if (*a == NULL){

printf("\n....Cadastro vazio....\n");

} else{

int num = 0;

int achei = 0;

int cont = 0;

printf("Informe o numero: ");

scanf("%i", &num);

struct Lista *aux;

aux = *a;

while( aux != NULL && achei == 0){

cont += 1;

if ((*aux).num == num){

achei = 1;

}

aux = (*aux).prox;

}

if (achei == 1){

printf("\n.....Achei na posicao: %i.....\n", cont);

} else{

printf("\n.....Nao Achei....\n");

}

}

printf("\n");

system("pause");

}


excluir(struct Lista **a){


if (*a== NULL){ // verificar se existe algum elemento na lista

printf("\n....Cadastro vazio....\n");

} else{

struct Lista *aux =*a;

a= (**a).prox;

free(aux);

}

printf("\n");

system("pause");

}






main (){

struct Lista *inicio = NULL;

int opcao = 0;

while(opcao != 9){

system ("cls");

printf("\n[1] Inserir Elemento");

printf("\n[2] Mostrar Elemento");

printf("\n[3] Localizar Elemento");

printf("\n[4] Excluir ");


printf("\n[9] Finalizar");

printf("\nInforme a opcao: ");

scanf("%i", &opcao);

switch(opcao){

case 1 : inserir(&inicio); break;

case 2 : mostrar(&inicio); break;

case 3 : localizar(&inicio); break;

case 4 : excluir(&inicio); break;


case 9 : printf("Programa finalizado");

}

}

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Werlang
      Olá. Sou o criador da plataforma gladCode, onde você cria gladiadores desde sua aparência, atributos físicos e mentais até a programação de seu comportamento, e os coloca para lutar contra gladiadores de outros jogadores em uma arena virtual.A programação do comportamento deles conta com uma série de funções, e uma vez dentro da arena eles se comportam de maneira autônoma, sem intervenção de seu mestre.
      Segue o link para o vídeo promocional da plataforma:
       
       
      Visitem a gladCode no site https://gladcode.tk
      Ou a página do Facebook: https://www.facebook.com/gladcode/
      Seria uma honra ter a visita de vocês no site, bem como esclarecer todas suas dúvidas.
       
    • Por MateusOFCZ
      Olá, gostaria de saber como eu faço para mostrar uma imagem diferente ao acessar o site...
      Eu precisaria mostrar a imagem linkada, ou seja, quando clickar na imagem ela levará você para um link, porém cada imagem tem um link diferente, como faço isso?
      Caso você não tenha entendido seria uma espécie de "anúncios" em meu site, toda vez que reentrar nele irá mostrar uma imagem diferente, e essa imagem será linkada, e os links também serão diferentes um do outro.
    • Por Yuri Fernandes da Silva
      Olá, sou um membro novo do fórum e estou estudando por conta a linguagem c++ pela internet..
       
      Durante meus estudos, me surgiu uma dúvida em relação ao conteúdo descrito no título desse fórum, mais especificamente com um compilador online (estudo no meu serviço, nos horários vagos)
       
      Essa foi a mensagem de erro que apareceu no compilador Online "C++ Shell":   In function 'int main()': 10:66: error: expected primary-expression before '<' token
       
      Esse foi o código que criei:
       
       
      //Exercício 
      #include <iostream>
      using namespace std;
      int main ()
      {
          int num;
          
          num=12;
          if ((num >=3 && num <=6) || (num > 9 && num < 15) || (num>15 && <20)) {
              cout <<"\n\nValor aceito\n";
          }else{
              cout <<"\n\nnao aceito\n";
          }
          return 0;
      }
       
       
      Agradeço desde já a atenção.
    • Por Jonathacsantos
      Boa tarde, sou novo na programação, comecei por conta própria e agora estou com um pequeno problema, meu programa depende de uma pasta criada pra executar um .exe que fica dentro de uma outra pasta, sendo que eu preciso que ele leia o .exe independente de onde ele fica instalado, vou mostrar uma parte do código para tentar explicar 
      private void AcessRemo_Click(object sender, EventArgs e) { foreach ( var process in Process.GetProcessesByName("TeamViewer")) { process.Kill(); } Process.Start("C:\\Teste\\suporteremoto.exe"); ele fecha um teamviewer em execução e executa uma versão especifica do teamviewer, sendo que nos meus testes funciona pq eu tenho essa pasta ai chamada teste, mas o programa instala em Program Files, sendo que se for 64, ele vai pra Program Files (x86), dai gostaria de fazer ele ler, tipo um [LocalPath] , mas não sei como , se alguem puder me ajudar ou me da uma luz eu agradeço muito.
    • Por Lincoln Ferreira de Jesus
      Olá, estou começando a aprender a linguagem c++ e eu gostaria de saber alguns exemplos de jogos feitos com puro c++ sem engine nem nd. Pra eu ter uma noção de quanto um desenvolvedor vai sem usar uma engine =) obrigado.
×

Informação importante

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