Digite C programa Usuário uma palavra, a função verifica se a palavra existir no dicionário e retorna a definição

Como escrever um programa em C para o usuário digitar uma palavra , a função verifica se a palavra existir no dicionário e retorna a definição em C linguagem de programação?



  1. /*    ~Mini Dicionario~
  2. Usuário digita uma palavra, a função verifica se essa palavra existe no dicionario e retorna a definicão                */
  3.  
  4. #include <stdio.h>
  5. struct dict
  6. {
  7.         char palavras[20];
  8.         char definicao[50];
  9. };
  10. bool compare(const char s1[], const char s2[])
  11. {
  12.         int i, sum = 0;
  13.        
  14.         for(= 0; s1[i] != '\0'; i++)
  15.         {
  16.                 if(s1[i] == s2[i])
  17.                 {
  18.                         sum++;
  19.                 }
  20.         }
  21.         if(sum == i)
  22.         {
  23.                 return true;
  24.         }
  25.         else
  26.         {
  27.                 return false;
  28.         }
  29. }
  30. int search(const struct dict vecEst[], const char strInp[], const int qtd) //Recebe um vetor de estrutura tipo dict, uma palavra
  31. {                                                                          //inserida pelo usuário, e um número de palavras de dict                                                                      
  32.         int i = 0;
  33.         while(< qtd)
  34.         {
  35.                 if(compare(strInp, vecEst[i].palavras)) //compara a palavra digita pelo usuário(strInp) com cada uma das palavras
  36.                 {                                                                               //do dicionário do tipo dict                                                    
  37.                         return i;   //se a palavra for igual, retorna o índice daquela palavra
  38.                 }
  39.                 else
  40.                 {
  41.                         i++;
  42.                 }
  43.         }
  44.         return -1;
  45. }
  46. int main(void)
  47. {
  48.         char palavra[20];
  49.         int result;
  50.  
  51.         printf("Digite uma palavra: ");
  52.         scanf("%s", palavra);
  53.  
  54.         const struct dict dicionario[7] =              //vetor de estrutura tipo dict
  55.         {{"Calculadora","Dispositivo"},
  56.          {"Vaca","Animal"},
  57.          {"Júpiter","Planeta"},
  58.          {"Casa","Lugar de moradia"},
  59.          {"Uau","Demonstracao de surpresa"},
  60.          {"Mingau","Doce mole"},
  61.          {"Avenida","rua de bastante movimento"}
  62.         };
  63.  
  64.         result = search(dicionario, palavra, 7);  //resultado da busca agora recebe i  
  65.  
  66.         if(result != -1)
  67.         {
  68.                 printf("%s\n", dicionario[result].definicao);
  69.         }
  70.         else
  71.         {
  72.                 printf("Palavra nao encontrada.");
  73.         }
  74.         return 0;
  75. }



Learn More :