Gente, estou fazendo um dicionário, mas não estou conseguindo implementar corretamente a função excluir...
A primeira dúvida é o seguinte:
eu fiz essa função e está dando erro, diz conversão inválida de char* para char... Está correta? Porque eu quero excluir somente uma palavra específica...
Dic* excluir(Dic *d, char palavra);
E o código abaixo... Queria saber o que estou fazendo de errado na implementação dessa função... Se alguém puder ajudar, obrigada (:
do{ printf("ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª\n"); printf("1 - Inserir uma nova palavra\n"); printf("2 - Consultar o significado de uma palavra\n"); printf("3 - Alterar uma palavra\n"); printf("4 - Excluir uma palavra\n"); printf("5 - Imprimir o dicionario\n"); printf("0 - Sair\n"); printf("ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª\n\n\n"); fflush(stdin); scanf("%c",&opcao);
if(opcao=='1'){ dicionario = inserir(dicionario); getch(); } if(opcao=='2'){ /*printf("\nDigite a palavra a ser consultada:\n"); gets(pal);*/ consultar(dicionario); getch(); } //if(opcao=='3'){ /*printf("1 - Alterar a palavra\n"); printf("2 - Alterar o significado\n"); printf("3 - Alterar palavra e significado\n"); fflush(stdin); scanf("%c",&op);
if(op=='1'){ printf("\nDigite a palavra a ser alterada:\n"); gets(p); alterar(dicionario); getch(); }*/ if(opcao=='4'){ printf("\nDigite a palavra a ser excluida:\n"); fflush(stdin); scanf("%s",pe); excluir(dicionario,pe); getch(); } /*if(opcao=='5'){ imprimir(dicionario); getch(); }*/ if(opcao=='0'){ printf("\nEnter para sair..."); getch(); } system("cls"); }while(opcao!='0'); }
Dic* inserir(Dic *d){ Dic *aux; char op; do{ aux=(Dic*)malloc(sizeof(Dic)); printf("\nDigite a palavra:\n"); fflush(stdin); gets(aux->palavra); printf("\nDigite o significado:\n"); fflush(stdin); gets(aux->sig); aux->prox=d; d=aux; printf("\nDeseja digitar uma nova palavra? (s/n)"); fflush(stdin); scanf("%c",&op); }while(op=='s' || op=='S'); return d; }
void consultar(Dic *d){ Dic *aux; int a=0; char op; char pal[30]; do{ printf("\nDigite a palavra a ser consultada:\n"); fflush(stdin); scanf("%s",pal); aux=d; //busca na lista //a=0;//--> pra verificar se o elemento foi encontrado while(aux!=NULL){ if(strcmp(aux->palavra,pal)==0){ printf("\nO significado da palavra é:\n"); printf("%s",aux->sig); a=1; break; } else aux=aux->prox; } //aviso: deve-se fechar o while antes de verificar se o elemento não foi encontrado if(a==0){ printf("\nPalavra não encontrada"); } printf("\nDeseja procurar mais alguma palavra? (s/n)"); fflush(stdin); scanf("%c",&op); }while(op=='s'||op=='S'); }
Pergunta
Mariana Duarte
Gente, estou fazendo um dicionário, mas não estou conseguindo implementar corretamente a função excluir...
A primeira dúvida é o seguinte:
eu fiz essa função e está dando erro, diz conversão inválida de char* para char... Está correta? Porque eu quero excluir somente uma palavra específica...
Dic* excluir(Dic *d, char palavra);
E o código abaixo... Queria saber o que estou fazendo de errado na implementação dessa função... Se alguém puder ajudar, obrigada (:
Link para o comentário
Compartilhar em outros sites
0 respostass 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.