Ir para conteúdo
Fórum Script Brasil

Robson Nunes

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre Robson Nunes

Robson Nunes's Achievements

0

Reputação

  1. 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. Eu até coloquei a opção excluir ali mas não ta funcionando. #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(p); *list =NULL; }else{ while(p->prox!=NULL){ q=p; p=p->prox; } q->prox=NULL; free(p); else{ q=p->prox; free(p); *list=q; } else{ q->prox=NULL; free(p); } }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); }
  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. Eu até coloquei a opção excluir ali mas não ta funcionando. #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(p); *list =NULL; }else{ while(p->prox!=NULL){ q=p; p=p->prox; } q->prox=NULL; free(p); else{ q=p->prox; free(p); *list=q; } else{ q->prox=NULL; free(p); } }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); }
×
×
  • Criar Novo...