fork download
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3.  
  4. struct dicionario {
  5. char palavra[21];
  6. char definicao[51];
  7. };
  8.  
  9. bool compararpalavras (const char palavra1[], const char palavra2[]) {
  10. int x = 0;
  11. while (palavra1[x] == palavra2[x] && palavra1[x] != '\0' && palavra2[x] !='\0') {
  12. ++x;
  13. }
  14. return palavra1[x] == '\0' && palavra2[x] == '\0';
  15. }
  16.  
  17. int procurarpalavras (const struct dicionario lingua[], const char palavra[], const int numdepalavras) {
  18. bool compararpalavras (const char palavra1[], const char palavra2[]);
  19. int x = 0;
  20. while (x < numdepalavras) {
  21. if (compararpalavras(palavra, lingua[x].palavra)) {
  22. return x;
  23. } else {
  24. ++x;
  25. }
  26. }
  27. return -1;
  28. }
  29.  
  30. int main (void) {
  31. int procurarpalavras(const struct dicionario lingua[], const char palavra[], const int numdepalavras);
  32. const int NUMERODEDEFINICOES = 7;
  33. char palavra[21] = {'\0'};
  34. int resultadopesquisa;
  35. const struct dicionario portugues[7] = {
  36. {"pao", "alimento a base de farinha"},
  37. {"mortadela", "tipo de carne"},
  38. {"feijao", "comida brasileira"},
  39. {"tropeiro", "tipo de feijao"},
  40. {"queijo", "de minas"},
  41. {"macarronada", "massa gostosa"},
  42. {"pizza", "tipico da italia"}};
  43. printf ("digite uma palavra: ");
  44. scanf ("%s", palavra);
  45. resultadopesquisa = procurarpalavras (portugues, palavra, NUMERODEDEFINICOES);
  46. if (resultadopesquisa != -1) {
  47. printf ("%s\n", portugues[resultadopesquisa].definicao);
  48. } else {
  49. printf ("\npalavra nao encontrada\n");
  50. }
  51. }
  52.  
  53. //http://pt.stackoverflow.com/q/30938/101
Success #stdin #stdout 0s 9432KB
stdin
pao
stdout
digite uma palavra: alimento a base de farinha