// 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");
}
示例#2
0
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);
		}
	}
}