Ir ao conteúdo
  • Cadastre-se

Robson_Nunes88

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Reputação

0
  1. Acho que eu entendi tudo, obrigado pelas dicas!! Boa parte desse código é do professor, a parte de excluir é a continuação do trabalho e é a parte que estou com dificuldade de colocar nesse programa.
  2. Boa noite, alguém pode me ajudar a colocar a opção excluir nesse código, tem que procurar pelo nome da pessoa e fazer a exclusão, segue o que eu conseguir fazer até agora. #include<stdio.h> #include<stdlib.h> #include<string.h> #include <locale.h> struct stNo { int info, idade, celular; char nome[100],endereco[100], sexo, cidade[80], email[40]; struct stNo *prox; }; struct stNo *cria_no() { struct stNo *p; if ((p = (struct stNo *) malloc(sizeof(struct stNo))) == NULL) return NULL; else { p->prox = NULL; return p; } } void insereLista(struct stNo **list){ struct stNo *p,*q; int n, idade, celular; char name[100], endereco[100], sexo, cidade[80], email[40]; fflush(stdin); printf("\nDigite o valor do nó:"); scanf("%i",&n); fflush(stdin); printf("\nDigite o nome:"); gets(name); fflush(stdin); //printf("\nDigite o seu sexo [F][M]:"); //scanf("%c",&sexo); //fflush(stdin); //printf("\nDigite sua idade:"); //scanf("%i",&idade); //fflush(stdin); //printf("\nDigite seu endereço:"); //gets(endereco); //fflush(stdin); //printf("\nDigite sua cidade:"); //gets(cidade); //fflush(stdin); //printf("\nDigite seu celular:"); //scanf("%i",&celular); //fflush(stdin); //printf("\nDigite seu e-mail:"); //gets(email); //fflush(stdin); if(*list==NULL){ //lista vazia p = cria_no(); *list = p; p->prox = NULL; p->info = n; strcpy(p->nome,name); p->sexo=sexo; p->idade=idade; strcpy(p->endereco,endereco); strcpy(p->cidade,cidade); p->celular=celular; strcpy(p->email,email); } else{ p=*list; while(p->prox!=NULL) p=p->prox;// posiciona no final da lista q = cria_no(); p->prox = q; q->prox = NULL; q->info = n; strcpy(q->nome,name); *list = q; }; }; void mostraLista(struct stNo **list){ struct stNo *p; if(*list!=NULL){ p=*list; while(p->prox!=NULL){ printf(" %d->",p->info); p = p->prox; }; printf(" %d->",p->info); } else printf("\nLista Vazia"); }; void excluirLista(struct stNo **list){ struct stNo *p,*q; int n; char name[100]; if(*list!=NULL){ //lista vazia p = *list; while (p->prox!=NULL && strcmp(p->nome, name) != 0) { p = p->prox; }; if(strcmp(p->nome, name) == 0){ printf("\nCódigo: %d",p->info); printf("\nNome: %s",p->nome); if(p->prox==NULL){ free§; *list =NULL; }else{ while(p->prox!=NULL){ q=p; p=p->prox; } q->prox=NULL; free§; else{ q=p->prox; free§; *list=q; } else{ q->prox=NULL; free§; } }else{ printf("\nLista Vazia"); } }; void visualizarLista(struct stNo **list){ struct stNo *p; int n; char name[100]; fflush(stdin); printf("\nDigite o nome:"); gets(name); fflush(stdin); if (*list!=NULL) { p = *list; while (p->prox!=NULL && strcmp(p->nome, name) != 0) { p = p->prox; }; if(strcmp(p->nome, name) == 0){ printf("\nCódigo: %d",p->info); printf("\nNome: %s",p->nome); //printf("\nSexo: %c",p->sexo); //printf("\nIdade: %d",p->idade); //printf("\nEndereço: %s",p->endereco); //printf("\nCidade: %s",p->cidade); //printf("\nCelular: %i",p->celular); //printf("\nE-mail: %s",p->email); }; } else printf("\nLista Vazia"); }; main(){ setlocale(LC_ALL,“Portuguese”); struct stNo *lista; int menu; lista = NULL; // inicializando a lista vazia do{ system(“cls”); printf("\n"); mostraLista(&lista); printf("\n\n"); printf("[1-Inserir] “); printf(”[2-Visualizar] “); printf(”[3-Excluir] “); printf(”[4-Sair] “); printf(“Opção:”); scanf(”%i",&menu); switch(menu){ case 1 : insereLista(&lista); break; case 2 : visualizarLista(&lista); break; case 3 : excluirLista(&lista); break; case 4 : printf("\nSaindo…"); break; default: printf("\nCódigo Inválido"); } printf("\n");system(“pause”); }while(menu!=3); }
  3. Boa noite colegas!! Eu preciso de uma ajuda eu já fiz quase todo o codigo só falta colocar a exclusão a opção. Tenho que excluir a pessoa cadastrada procurando pelo o nome da pessoa em lista simples encadeada. Segue meu codigo. Obrigado pela atenção e ajuda. É em C. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> struct stNo { int info; char nome[50]; struct stNo *prox; }; struct stNo *cria_no() { struct stNo *p; if ((p = (struct stNo *) malloc(sizeof(struct stNo))) == NULL) return NULL; else { p->prox = NULL; return p; } } void insereLista(struct stNo **list){ struct stNo *p,*q; int n, idade; char name[50], endereco[100], sexo, cidade[80], celular[11], email[40]; fflush(stdin); printf("\nDigite o valor do nó:"); scanf("%i",&n); fflush(stdin); printf("\nDigite o nome:"); gets(name); fflush(stdin); //printf("\nDigite o seu sexo [F][M]:"); //scanf("%i",&idade); //fflush(stdin); //printf("\nDigite sua idade:"); //scanf("%c",&sexo); //fflush(stdin); //printf("\nDigite seu endereço:"); //scanf(endereco); //fflush(stdin); //printf("\nDigite sua cidade:"); //gets(cidade); //fflush(stdin); //printf("\nDigite seu celular:"); //scanf(celular); //fflush(stdin); //printf("\nDigite seu e-mail:"); //gets(email); fflush(stdin); if(*list==NULL){ //lista vazia p = cria_no(); *list = p; p->prox = NULL; p->info = n; strcpy(p->nome,name); } else{ p=*list; while(p->prox!=NULL) p=p->prox;// posiciona no final da lista q = cria_no(); p->prox = q; q->prox = NULL; q->info = n; strcpy(q->nome,name); }; }; void mostraLista(struct stNo **list){ struct stNo *p; if(*list!=NULL){ p=*list; while(p->prox!=NULL){ printf(" %d->",p->info); p = p->prox; }; printf(" %d->",p->info); } else printf("\nLista Vazia"); }; void visualizarLista(struct stNo **list){ struct stNo *p; int n; char name[100]; fflush(stdin); printf("\nDigite o nome:"); gets(name); fflush(stdin); if (*list!=NULL) { p = *list; while (p->prox!=NULL && strcmp(p->nome, name) != 0) { p = p->prox; }; if(strcmp(p->nome, name) == 0){ printf("\nCódigo: %d",p->info); printf("\nNome: %s",p->nome); }; } else printf("\nLista Vazia"); }; main(){ setlocale(LC_ALL,"Portuguese"); struct stNo *lista; int menu; lista = NULL; // inicializando a lista vazia do{ system("cls"); printf("\n"); mostraLista(&lista); printf("\n\n"); printf("[1-Inserir] "); printf("[2-Visualizar] "); printf("[3-Sair] "); printf("Opção:"); scanf("%i",&menu); switch(menu){ case 1 : insereLista(&lista); break; case 2 : visualizarLista(&lista); break; case 3 : printf("\nSaindo..."); break; default: printf("\nCódigo Inválido"); } printf("\n");system("pause"); }while(menu!=3); }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...