home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / tcpp / examples / diction.cpp < prev    next >
C/C++ Source or Header  |  1990-06-09  |  921b  |  46 lines

  1. // diction.cpp: Implementierung der
  2. //              Dictionary-Klasse
  3. // aus Kapitel 6 der Einführung
  4.  
  5. #include "diction.h"
  6.  
  7. int Dictionary::find_word(char *s)
  8. {
  9.    char word[81];
  10.    for (int i = 0; i < nwords; ++i)
  11.       if (stricmp(words[i].get_word(word),s) == 0)
  12.          return i;
  13.  
  14.    return -1;
  15. }
  16.  
  17. void Dictionary::add_def(char *word, char **def)
  18. {
  19.    if (nwords < Maxwords)
  20.    {
  21.       words[nwords].put_word(word);
  22.       while (*def != 0)
  23.          words[nwords].add_meaning(*def++);
  24.       ++nwords;
  25.    }
  26. }
  27.  
  28. int Dictionary::get_def(char *word, char **def)
  29. {
  30.    char meaning[81];
  31.    int nw = 0;
  32.    int word_idx = find_word(word);
  33.    if (word_idx >= 0)
  34.    {
  35.       while (words[word_idx].get_meaning
  36.              (nw,meaning) != 0)
  37.       {
  38.          def[nw] = new char[strlen(meaning)+1];
  39.          strcpy(def[nw++],meaning);
  40.       }
  41.       def[nw] = 0;
  42.    }
  43.  
  44.    return nw;
  45. }
  46.