/*    ~Mini Dicionario~
 
Usuário digita uma palavra, a função verifica se essa palavra existe no dicionario e retorna a definicão                */
 
 
 
#include <stdio.h>
 
struct dict
 
{
 
        char palavras[20];
 
        char definicao[50];
 
};
 
bool compare(const char s1[], const char s2[])
 
{
 
        int i, sum = 0;
 
       
 
        for(i = 0; s1[i] != '\0'; i++)
 
        {
 
                if(s1[i] == s2[i])
 
                {
 
                        sum++;
 
                }
 
        }
 
        if(sum == i)
 
        {
 
                return true;
 
        }
 
        else
 
        {
 
                return false;
 
        }
 
}
 
int search(const struct dict vecEst[], const char strInp[], const int qtd) //Recebe um vetor de estrutura tipo dict, uma palavra
 
{                                                                          //inserida pelo usuário, e um número de palavras de dict                                                                      
 
        int i = 0;
 
        while(i < qtd)
 
        {
 
                if(compare(strInp, vecEst[i].palavras)) //compara a palavra digita pelo usuário(strInp) com cada uma das palavras
 
                {                                                                               //do dicionário do tipo dict                                                    
 
                        return i;   //se a palavra for igual, retorna o índice daquela palavra
 
                }
 
                else
 
                {
 
                        i++;
 
                }
 
        }
 
        return -1;
 
}
 
int main(void)
 
{
 
        char palavra[20];
 
        int result;
 
 
 
        printf("Digite uma palavra: ");
 
        scanf("%s", palavra);
 
 
 
        const struct dict dicionario[7] =              //vetor de estrutura tipo dict
 
        {{"Calculadora","Dispositivo"},
 
         {"Vaca","Animal"},
 
         {"Júpiter","Planeta"},
 
         {"Casa","Lugar de moradia"},
 
         {"Uau","Demonstracao de surpresa"},
 
         {"Mingau","Doce mole"},
 
         {"Avenida","rua de bastante movimento"}
 
        };
 
 
 
        result = search(dicionario, palavra, 7);  //resultado da busca agora recebe i  
 
 
 
        if(result != -1)
 
        {
 
                printf("%s\n", dicionario[result].definicao);
 
        }
 
        else
 
        {
 
                printf("Palavra nao encontrada.");
 
        }
 
        return 0;
 
}