// Funcao que encontra e imprime a traducao de uma dada palavra, caso ela esteja cadastrada no dicionario void consultaPalavra(Lista* inicio) { char word[20]; Lista* ant_buscada; printf("Digite a palavra a ser traduzida para ingles: "); scanf("%s", word); ant_buscada = buscaPalavra(inicio, word); if (ant_buscada != NULL) { printf("=> Traducao: %s\n", ant_buscada->prox->info.ing); } else printf(" ** Palavra nao cadastrada **\n"); }
int main(){ system("clear"); int opcao,x,y,oi=0; char temp[99]; pLDDE pListaVertical = NULL; cria(&pListaVertical, sizeof(ppLDDE)); //cria lista vertical, a horizontal sera criada dentro do "carregaLista" carregaLista(pListaVertical,&oi); //carrega as palavras do arquivo nas listas manipulaArquivo(pListaVertical,&oi); do{ printf("> EDA - Trabalho final LISTA DE LISTAS\n"); printf("1. Lista com palavras do arquivo.\n" "2. Busca uma palavra no arquivo.\n" "3. Conta quantas palavras o arquivo possui.\n" "4. Remover palavra em coluna X e linha Y. \n" "5. Edita uma palavra em coluna X e linha Y. \n" "0. Sair.\n"); scanf("%d", &opcao); switch(opcao) { case 1: listaTexto(pListaVertical); break; case 2: printf("Escolha uma palavra\n"); scanf("%s",temp); buscaPalavra(pListaVertical,temp); break; case 3: contaTexto(pListaVertical); break; case 4: printf("Escolha a coluna X e a linha Y, respectivamente\n"); scanf("%d %d",&x,&y); excluiPalavra(pListaVertical,x,y); manipulaArquivo(pListaVertical,&oi); break; case 5: printf("Escolha a coluna X e a linha Y e a nova palavra, respectivamente\n"); scanf("%d %d %s",&x,&y,temp); editaPalavra(pListaVertical,x,y,temp); manipulaArquivo(pListaVertical,&oi); break; default: break; } }while(opcao != 0); rename("arquivo.txt","arquivoOLD.txt"); rename("arqTemp.txt","arquivo.txt"); return 0; }
// Implementacao da remocao da lista void removePalavra(Lista* inicio) { char word[20]; Lista* buscada; Lista* ant_buscada; if (inicio->prox == NULL) printf("Nao ha palavras a serem removidas\n"); else { printf("Digite a palavra a ser removida(Portugues): "); scanf("%s", word); ant_buscada = buscaPalavra(inicio, word); if (ant_buscada == NULL) printf("Palavra nao cadastrada"); else { buscada = ant_buscada->prox; ant_buscada->prox = buscada->prox; free(buscada); } } }