This Text file is old! In a 🏛️Museum, an unsorted archive of (user-)pages. (Saved from Geocities in Oct-2009. The archival story: oocities.org)
--------------------------------------- (To 🚫report any bad content: archivehelp @ gmail.com)
>

Assignment #3                95.204 A                        Nov 30/95


                I   AA   N   N      RRR    EEEE  I  DDD
                I  A  A  NN  N      R  R   E     I  D  D
                I  AAAA  N N N      RRR    EEE   I  D   D
                I  A  A  N  NN      R  R   E     I  D  D
                I  A  A  N   N      R  R   EEEE  I  DDD
                              223779


Table of Contents
=================                                         Section
Program                                                     0.1
  spell.cpp                                                 0.1
User Manual                                                 1.0
  Program info                                              1.1
  Programmer info                                           1.1
  Description of problem                                    1.2
    Policy on words                                         1.2
  Input data files                                          1.3
     words.dat format                                       1.3
  Program limitations                                       1.4
  Execute instructions                                      1.5
Program Reference Manual                                    2.0
  Program info                                              2.1
  Programmer info                                           2.1
  Description of problem                                    2.2
    Policy on words                                         2.2
  Data structures                                           2.3    
  Functional specification                                  2.4
    Overall structure                                       2.5
        testing
        peusdo-code
    Find a word                                             2.6
        testing
        peusdo-code
    Add 2 text file                                         2.7
        testing
        peusdo-code
    Query user                                              2.8
        testing
        peusdo-code
    Add word to dictionary                                  2.9
        testing
        peusdo-code
    Find matching words                                     2.10
        testing
        peusdo-code
    Get word                                                2.11
        testing
        peusdo-code
    Build dictionary                                        2.12       
        testing
        peusdo-code
    Display tree                                            2.13
        testing
        peusdo-code
  Testing Part 1                                            2.14
    (insert, initTree, display, searchTree, findMatchTree)
    main for testing this code                              2.14
    results                                                 
  Testing Part 2                                            2.15
    (buildDic, add2File, queryUser, getAWord, display)
    main for testing this code                              2.15
    results                                                 
  Testing Overall                                           2.16
    (same as testing for part 2)
    results                                                 
  Structure charts                                          2.17
  Data flow diagram                                         2.18


Program                                                     Section 0.1
=======

// 95.204               Assignment # 3                  Nov 19/95
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

// tree structer defination
struct node {
           char *value;
           struct node *left;
           struct node *right;
         };
typedef struct node TREE;

void initTree(TREE *dic)
{// init's the tree to NULL
   dic->value = NULL;
   dic->left = NULL;
   dic->right = NULL;
}

void insert(TREE *dic, char *word)
{  // inserts a word into the tree in the correct position
   void insertprivate(TREE *dic,TREE *node);
   TREE *newPtr=NULL;

   newPtr = new TREE;
   initTree(newPtr);
   if (newPtr != NULL)          //checks to see if tree is empty
     {  //strcpy(newPtr->value,word); cout<< "here";
        if (dic->value == NULL)
                dic->value = word;
        else
         { newPtr->value = word;  //makes a new node
           insertprivate(dic,newPtr); //inserts the node into the tree
         }
     }
   else
     cout<< "error: not added";
   return;
}

void insertprivate(TREE *dic, TREE *node)
{ //does the recursive insert left or right
  if (dic->value == NULL)
     {
       *dic = *node; //cout << "node: " << dic->value <<'\n';
       return;
     }
  else
     { if (stricmp(dic->value,node->value) < 0)
            { //cout << "Adding left";
               if (dic->left == NULL)   //left insert at leaf
                       dic->left = node;
               else
                       insertprivate(dic->left,node);   //move left and try insert there
            }
       else {  //cout << "Adding right";
               if (dic->right == NULL)          //right insert at leat
                       dic->right = node;
               else
                       insertprivate(dic->right,node);   //move right and try insert there
            }
     }
  return;
}

int searchTree(const TREE dic, const char *word )
{ //searches the binary search Tree for a word
  //cout << "compare: " << dic.value << " and " << word << " = " << stricmp(dic.value,word) << '\n';
  if (dic.value == NULL)        //checks to see if tree is empty
        return 0;
  else if (stricmp(dic.value,word) == 0)        //checks to see if value if == to the word
        return 1;
  else
     if (stricmp(dic.value,word) < 0)
        { if (dic.left == NULL)         //at a leaf and didn't find the word so not in tree
                return 0;
          else
                return searchTree(*(dic.left),word);  //checks left subtree
        }
     else
        { if (dic.right == NULL)        //at a leaf and didn't find the word so not in tree
                return 0;
          else
                return searchTree(*(dic.right),word);   //checks right subtree
        }
}

int findMatchTree(const TREE dic, const char *word)
{ //searchs the tree for a word, when it doesn't find it(as it shouldn't
  //it then backs up 4 levels and print's the value
  //cout << "matching: " << dic.value << " and " << word << " = " << stricmp(dic.value,word) << '\n';
  int counter;
  if (dic.value == NULL)                //checks for empty tree
        { cout << "No matches found" << '\n';
          return 0;
        }
 // else if ((stricmp(dic.value,word) == 0) && (stricmp(word,dic.value) == 0))
 //     { //cout << "" << dic.value << " ";
 //                     cout << "" << dic.value << " " << dic.left->value << " " << dic.right->value;

 //       return 0;
 //     }
  else
     if (stricmp(dic.value,word) < 0)
        { if (dic.left == NULL)         //at leaf, start to go back up, print the values as you go back up
                {  //cout << dic.value << " ";
                        cout << dic.value << " ";// << dic.left->value << " " << dic.right->value;
                   return 0;
                }
          else
                { counter = findMatchTree(*(dic.left),word);    //not at leaf, check next level left
                  if (counter < 3)
                        cout << dic.value << " ";// << dic.left->value << " " << dic.right->value;
                  return ++counter;
                }
        }
     else
        { if (dic.right == NULL)                //at leaf, start to go back up, print values of tree as you go
                {  //cout << dic.value << " ";
                        cout << dic.value << " ";// << dic.left->value << " " << dic.right->value;
                   return 0;
                }
          else
                { counter = findMatchTree(*(dic.right),word);  //not at leaf, so check next level
                  if (counter < 3)
//                      cout << dic.value << " ";
                        cout << dic.value << " ";// << dic.left->value << " " << dic.right->value;
                  return ++counter;
                }
        }
}

void display(const TREE *dic)
{  //display the tree inorder
   if ((dic->left) != NULL)             //check to see if leaf
        {  //cout << "GOING LEFT";
           display(dic->left);          //if not go down to next level left
        }
   cout << dic->value << ' ';           //prints the value at current node
   if ((dic->right) != NULL)            //checls to see if leat
        {  //cout << "GOING RIGHT";
           display(dic->right);         //if not go down to next level right
        }
   cout << '\n';
   return;
}

void buildDic(TREE *dic)
{  //build dictionary from a list of words in a file
char fileName[12];
char aWord[100], *word;

cout << "Enter the name of a file contains a list of words: ";
cin >> fileName;

ifstream in(fileName);                  //open a file called by fileName
if(!in)
        {  cout << "\nCould not open your file\n";
           return;
        }
cout << "\nWords added: ";
while(in)               //repeats until end of file
        {  in >> aWord;                 //reads in word
           int length=0; length = strlen(aWord);        //cal length of aWord
           word = new char[length+1];
           strcpy(word,aWord);
           cout << word << ", ";                        //displays word read
           insert(dic,word);                    //inserts into the dictionary tree
        }
cout << '\n';
}

// main for Assignment # 3
void main(void)
// Ian Reid
{  // Prototyping functions
        void insert(TREE *dic, char *word);
        void initTree(TREE *dic);
        void display(const TREE *dic);
        int searchTree(const TREE dic, const char *word);
        int findMatchTree(const TREE dic, const char *word);
        void buildDic(TREE *dic);
        int queryUser(TREE *dic, char *word);
        void getAWord(char aWord[100]);
 char fileName[12];     //used to store the filename of the file that is being writen to
 TREE dic;              //used to store the dictionary as a binary search tree
 initTree(&dic);                //init's the tree to all NULL
 char *word, aWord[100];        //word is dynamical, aWord is a tempary static array

 buildDic(&dic);                //builds the dictionary from a list of words
 cout << "\nDisplay of input dictionary\n";
 //display(&dic);
 cout << "Enter the name of the text file you want to type: ";
 cin >> fileName;
 ofstream file(fileName);
 if(!file)
     {  cout << "Could not open " << fileName << '\n';
        exit(1);
     }

 cout << "\nYou must put type one word per line\n";
 cout << "The computer will beep if the word is not in the dictionary\n";
 cout << "Type *** as a word to end input\n";

 while (stricmp(aWord,"***") != 0)      //repeats until *** is inputed
 {  getAWord(aWord);                    //get's a word from the user
   if (stricmp(aWord,"***") == 0)       //checks to exit condition
        break;                          //exits
   int length=0; length = strlen(aWord);        //cal length of aWord
   if (isalnum(aWord[length-1]))      //normal word, no punctuation
        { word = new char[length+1];
          strcpy(word,aWord);
          word[length] = '\0';
        }
   else { word = new char[length];              //end's in punctuation
          strncpy(word,aWord,length-1);
          word[length-1] = '\0';
        }
//   cout << "		You typed: " << word << '\n';
   fflush(stdin);
   if (searchTree(dic,word) == 0)        //searches Tree for word
      {//   cin.getline(aWord,100);
        putchar(007);           //beeps
        if (queryUser(&dic,word) == 0)          //askes the user if word is correct, adds if ok
                {  cout << "			Matches found: ";
                   findMatchTree(dic,word);     //finds matches in tree of a word
                   cout << '\n';
                }
        else file << aWord << ' ';              //add's aWord to the output file
      }
//           cout << word << ' ';
   else file << aWord << ' ';                   //add's aWord to the output file
 }
 file.close();          //close the file
}

void getAWord(char aWord[100])
{ //get's a word from the user
  cin >> aWord;
  fflush(stdin);
  return;
}

int queryUser(TREE *dic, char *word)
{  //askes the user if a word is ok, if it is adds it to dictionary
   char answer;
        cout << "		Is "<< word <<" correctly spelled(Y,N)?";
        cin >> answer;
        if ((answer == 'Y') || (answer == 'y'))
           {// cout << "       			ADDING WORD";
             insert(dic,word);                  //adds the word
             return 1;
           }
        else return 0;
}



User Manual                                                 Section 1.0
===========
                                                            Section 1.1
Program name: spell
Programmer name: Ian Reid, (223779)
           address: Carleton University

Statement of Requirements                                   Section 1.2
=-=-=-=-=-=-=-=-=-=-=-=-=

     The purpose of this program is to design and implement an
on-line spell checker, ie as the user types a word the program 
checks it for spelling.  This is done by first processing a text
file of correctly spelled words, making a dictionary.  The user 
then types a word and the program checks it against the dictionary, 
if the word is not found then the program prompts the user.  If
the user thinks that the word is correct then the program adds the
word to the dictionary, else the program lists possible words.


Policy on a word                                            Section 1.2
=-=-=-=-=-=-=-=-=

     A word is defined by a space followed by at least one 
character followed by punctuation and a space, or just a space.

                                                                Section 1.3
     The program reads in the words from a data file.  The data file 
contains a list of words, there must be a space or return between each word.
you can have as many words as you like in the file(memory permitting).
For an example of a data file see words.doc, include on disk.

                                                            Section 1.4
Program limitations:
        Words can be a max of 100 characters long
                (words are converted and stored dynamically)
        You must press return after each word you type in
        When answering yes/no question, only a Y,y will be taken as
                confermation
        If you enter an invalid prescanned file name, the program
                will start with and empty dictionary tree
        FileNames can be a max of 12 characters
        You need a Pc speaker to hear the sound
        files are in same director as program
        word can not begin with punctuation

        

                                                            Section 1.5
To run this program in Ibm dos.
        1. Goto the director where the program is.
        2. Place a copy of your data files in to this director.
        3. Run the program.

                                                           

The Program Reference Manual                                Section 2.0
============================

                                                            Section 2.1
Program name: spell
Programmer name: Ian Reid, (223779)
           address: Carleton University
           compiler: Turbo C++ for dos v3.1


Statement of Requirements                                   Section 2.2
=-=-=-=-=-=-=-=-=-=-=-=-=

     The purpose of this program is to design and implement an
on-line spell checker, ie as the user types a word the program 
checks it for spelling.  This is done by first processing a text
file of correctly spelled words, making a dictionary.  The user 
then types a word and the program checks it against the dictionary, 
if the word is not found then the program prompts the user.  If
the user thinks that the word is correct then the program adds the
word to the dictionary, else the program lists possible words.


Policy on a word                                            Section 2.2
=-=-=-=-=-=-=-=-=

     A word is defined by a space followed by at least one 
character followed by punctuation and a space, or just a space.


Data Structures                                             Section 2.3
=-=-=-=-=-=-=-=
        The dictionary is stored as a binary search tree
                to add a word to the dictionary use insert
                words cannot be removed
        All words are dynamically allocated arrays of chars

Functional Specification                                    Section 2.4
=-=-=-=-=-=-=-=-=-=-=-=-=

>Main                                                       Section 2.5
    main builds a dictionary, from a text file
    it then uses this dictionary to spell check words in real 
         time that the user enters
    Testing
        small dictionary, user types a word in dictionary
                        , user types a word not in dictionary
                        , user types a word close to a word in
                                dictionary
                        , user types a word very different from
                                the words in dictionary
                        , user types a long word
                        , user types a short word
                        , user types a word with punctuation at
                                the end
                        , user types a word with punctuation in
                                the word
                        , user types an invalid word
                        , user types valid word
        large dictionary, same tests
        empty dictionary, same tests
    Peusdo-Code
        build dictionary
        WHILE there are still words
        get word from user
        check word
          correct?
            true add word to text file
            false query user
              correct?
                true add word to text file
                  add word to dictionary
                false list possible matches
        END WHILE
>Find a word                                                Section 2.6
     Input a word, dictionary
     Output a word, correct true or false
     checks to see if the word is in the dictionary if it is then 
          return true, else false.
     Testing
          normal words
            correct
            incorrect
          words with punctuation
            ending with punctuation
            punctuation in the middle of a word
          short words
          long words
          no words
     Peusdo-Code
          if root == a word return 1
          if root == NULL return 0
          if root is greater than a word
             left sub-tree search Tree for a word
          else right sub-tree search Tree for a word
>Add to text file                                           Section 2.7
     Input a correct word
     adds the correct word to the text file
     Testing
          normal words
          short words
          long words
          adding the first word
          adding the last word
     Peusdo-Code
          open a read/write stream on the file
          print out what is currently in the file to the screen
          add the word to the end of the file and print to the
             screen
>Query user                                                 Section 2.8
     Input a word
     Output true or false
     asks the user if the word is correct?  returns true or false
     Testing
          answers correct
          answers incorrect
          doesn't answer
     Peusdo-Code
          display word
          asked user if word is correct?
               if true return true
               else false
>Add word to dictionary                                     Section 2.9
     Input a word
     Output a dictionary search tree
     takes a word and adds it to the dictionary search tree
     Testing
          adding first word
          adding last word
          adding normal word in the middle
          adding short words
          adding long words
     Peusdo-Code
          if root is NULL insert word at root
          else check to see if a word is greater than root
             if true dictionary right tree insert a word
             else dictionary left tree insert a word
>Find matches                                               Section 2.10
     Input a word, dictionary search tree
     Output a list of possible correct words to the screen
     checks the dictionary searching for words that are close to
          the input word
     Testing
          a word in dictionary
          a word not in dictionary
          a word which is close to a word in the dictionary
          a word which isn't close to a word in the dictionary
          long words
          short words
          punctuation words
     Pseudo-Code
          find the leaf close to a word(a word is close if the
                                first 3 letters are the same)
               if root is not NULL
                  if root is greater than word
                    left sub-tree find matches
                  else right sub-tree find matches
          go up three levels and display all children of that tree
               if return == 3 then display all children of tree
                    tree show
               else return (return + 1)
>Type word                                                  Section 2.11
     Input
     Output a word
     gets a word from the user
     Testing
          normal words
          not a word
          punctuation words
          long words
          short words
     Peusdo-Code
          WHILE not word
               get word from user
          end while
          return word
>Build Dictionary                                           Section 2.12
     Input a filename of a text file of words
     Output a binary tree of a dictionary
     builds a dictionary up from words in a text file
     Testing
        small text file
        large text file
        invalid text file
     Peusdo-Code
          open the text file
          WHILE not eof
               read in a word
               add the word to the tree
          ENDWHILE
          close the file
          return tree

>Show tree                                                  Section 2.13
     Input a tree
     Output void
     Displays the elements in pre-Order of the tree
     Testing
        build a small tree and display it
        build a large tree and display it
        build an empty tree and display it
        build a bushy tree and display it
        build a non-bushy tree and display it
     Peusdo-Code
          display the root
          WHILE left sub-tree is not NULL
               display left sub-tree
          ENDWHILE
          WHILE right sub-tree is not NULL
               display right sub-tree
          ENDWHILE

Testing Part 1                                          Section 2.14
=-=-=-=-=-=-=-=

//Testing for insert, initTree, display, searchTree, findMatchTree
void main()
{  // Prototyping functions
        void insert(TREE *dic, char *word);
        void initTree(TREE *dic);
        void display(const TREE *dic);
        int searchTree(const TREE dic, const char *word);
        int findMatchTree(const TREE dic, const char *word);
        void buildDic(TREE *dic);
        void add2File(char *word, char *fileName);
        int queryUser(TREE *dic, char *word);
        void getAWord(char aWord[100]);
 TREE dic;
 initTree(&dic);
 char word[100];
 insert(&dic, "me");
 insert(&dic, "lunch");
 insert(&dic, "food");
 insert(&dic, "eat");
 insert(&dic, "pipe-dream");
 insert(&dic, "zero");
 insert(&dic, "eaten");
 insert(&dic, "each");
 insert(&dic, "understanding");

 cout << "\nTree display:\n";
 display(&dic);

 while (stricmp(word,"***") != 0)
 { cout << "\nEnter word to search for: ";
  cin >> word;
  cout << "\nresult of search for " << word << " -> " << searchTree(dic,word) << '\n';
  cout << "\nFindinf match\n";
  findMatchTree(dic,word);
  cout << '\n';
 }
}

Results                                                        
-------
See testing.txt (TEST1.TXT)


Testing Part 2                                                  Section 2.15
=-=-==-=-=-=-=
// testing buildDic, add2File, queryUser, getAWord
void main(void)
// Ian Reid
{  // Prototyping functions
        void insert(TREE *dic, char *word);
        void initTree(TREE *dic);
        void display(const TREE *dic);
        int searchTree(const TREE dic, const char *word);
        int findMatchTree(const TREE dic, const char *word);
        void buildDic(TREE *dic);
        void add2File(char *word, char *fileName);
        int queryUser(TREE *dic, char *word);
        void getAWord(char aWord[100]);
 char fileName[12];
 TREE dic;
 initTree(&dic);
 char *word, aWord[100];

 buildDic(&dic);
 cout << "\nDisplay of input dictionary\n";
 display(&dic);
 cout << "Enter the name of the text file you want to type: ";
 cin >> fileName;
 ofstream file(fileName);
 if(!file)
     {  cout << "Could not open " << fileName << '\n';
        exit(1);
     }

 cout << "\nYou must put type one word perline\n";
 cout << "The computer will beep if the word is not in the dictionary\n";

 while (stricmp(aWord,"***") != 0)
 {  getAWord(aWord);
   if (stricmp(aWord,"***") == 0)
        break;
   int length=0; length = strlen(aWord);
   if (isalnum(aWord[length-1]))      //normal word, no punctuation
        { word = new char[length+1];
          strcpy(word,aWord);
          word[length] = '\0';
        }
   else { word = new char[length];              //end's in punctuation
          strncpy(word,aWord,length-1);
          word[length-1] = '\0';
        }

  //   cout << "		You typed: " << word << '\n';
   fflush(stdin);
   if (searchTree(dic,word) == 0)
      {//   cin.getline(aWord,100);
        putchar(007);           //beeps
        if (queryUser(&dic,word) == 0)
                {  cout << "			Matches found: ";
                   findMatchTree(dic,word);
                   cout << '\n';
                }
        else file << aWord << ' ';
      }
 //           cout << word << ' ';
   else file << aWord << ' ';
 }
 file.close();
}

Results                                                    
-------
see results.txt (T1.TXT, T2.TXT, T3.TXT) 
and testing.txt (TEST2A.TXT, TEST2B.TXT, TEXT2C.TXT)

Testing Overall                                           Section 2.16
=-=-=-=-=-=-=-=    
results                                                 
see results.txt (A1.TXT, A2.TXT, A3.TXT)
and testing.txt (TEST3A.TXT, TEST3B.TXT, TEST3C.TXT)


===**=**===
Results.txt
===**=**===
A1.TXT
found he-man she-girl none she-girl help! help help? great 

A2.TXT
oh oh well cat good good oh oh well good 

A3.TXT
yahoo three! words word smart start the the end! end end. 

TOUT.TXT
I am testing text file

T2.TXT
none can found he-man he-man none be 

T3.TXT
none none four but can-it can-it! done 

TEST.TXT
my what 



===**=**===
Testing.txt
===**=**===
TEST1.TXT
=========

Script session started $Revision: 1.1 $

Microsoft(R) MS-DOS(R) Version 6.20
             (C)Copyright Microsoft Corp 1981-1993.

C:\204\ASS#3>spellt1

Tree display:
zero understanding pipe-dream me lunch food eaten eat each 
Enter word to search for: zero
compare: me and zero = -13
compare: pipe-dream and zero = -10
compare: zero and zero = 0

result of search for zero -> 1

Findinf match
matching: me and zero = -13
matching: pipe-dream and zero = -10
matching: zero and zero = 0
matching: understanding and zero = -5
understanding zero pipe-dream me 

Enter word to search for: tekts
compare: me and tekts = -7
compare: pipe-dream and tekts = -4
compare: zero and tekts = 6
compare: understanding and tekts = 1

result of search for tekts -> 0

Findinf match
matching: me and tekts = -7
matching: pipe-dream and tekts = -4
matching: zero and tekts = 6
matching: understanding and tekts = 1
understanding zero pipe-dream me 

Enter word to search for: wow!
compare: me and wow! = -10
compare: pipe-dream and wow! = -7
compare: zero and wow! = 3
compare: understanding and wow! = -2

result of search for wow! -> 0

Findinf match
matching: me and wow! = -10
matching: pipe-dream and wow! = -7
matching: zero and wow! = 3
matching: understanding and wow! = -2
understanding zero pipe-dream me 

Enter word to search for: pipe-dream
compare: me and pipe-dream = -3
compare: pipe-dream and pipe-dream = 0

result of search for pipe-dream -> 1

Findinf match
matching: me and pipe-dream = -3
matching: pipe-dream and pipe-dream = 0
pipe-dream me 

Enter word to search for: pop_can
compare: me and pop_can = -3
compare: pipe-dream and pop_can = -6
compare: zero and pop_can = 10
compare: understanding and pop_can = 5

result of search for pop_can -> 0

Findinf match
matching: me and pop_can = -3
matching: pipe-dream and pop_can = -6
matching: zero and pop_can = 10
matching: understanding and pop_can = 5
understanding zero pipe-dream me 

Enter word to search for: me
compare: me and me = 0

result of search for me -> 1

Findinf match
matching: me and me = 0
matching: lunch and me = -1
lunch me 

Enter word to search for: a
compare: me and a = 12
compare: lunch and a = 11
compare: food and a = 5
compare: eat and a = 4
compare: each and a = 4

result of search for a -> 0

Findinf match
matching: me and a = 12
matching: lunch and a = 11
matching: food and a = 5
matching: eat and a = 4
matching: each and a = 4
each eat food lunch 

Enter word to search for: understanding
compare: me and understanding = -8
compare: pipe-dream and understanding = -5
compare: zero and understanding = 5
compare: understanding and understanding = 0

result of search for understanding -> 1

Findinf match
matching: me and understanding = -8
matching: pipe-dream and understanding = -5
matching: zero and understanding = 5
matching: understanding and understanding = 0
understanding zero pipe-dream me 

Enter word to search for: understandable
compare: me and understandable = -8
compare: pipe-dream and understandable = -5
compare: zero and understandable = 5
compare: understanding and understandable = 8

result of search for understandable -> 0

Findinf match
matching: me and understandable = -8
matching: pipe-dream and understandable = -5
matching: zero and understandable = 5
matching: understanding and understandable = 8
understanding zero pipe-dream me 

Enter word to search for: 
 
" "
compare: me and " = 43
compare: lunch and " = 42
compare: food and " = 36
compare: eat and " = 35
compare: each and " = 35

result of search for " -> 0

Findinf match
matching: me and " = 43
matching: lunch and " = 42
matching: food and " = 36
matching: eat and " = 35
matching: each and " = 35
each eat food lunch 

Enter word to search for: compare: me and " = 43
compare: lunch and " = 42
compare: food and " = 36
compare: eat and " = 35
compare: each and " = 35

result of search for " -> 0

Findinf match
matching: me and " = 43
matching: lunch and " = 42
matching: food and " = 36
matching: eat and " = 35
matching: each and " = 35
each eat food lunch 

Enter word to search for: ''
compare: me and '' = 38
compare: lunch and '' = 37
compare: food and '' = 31
compare: eat and '' = 30
compare: each and '' = 30

result of search for '' -> 0

Findinf match
matching: me and '' = 38
matching: lunch and '' = 37
matching: food and '' = 31
matching: eat and '' = 30
matching: each and '' = 30
each eat food lunch 

Enter word to search for: zpelling
compare: me and zpelling = -13
compare: pipe-dream and zpelling = -10
compare: zero and zpelling = -11

result of search for zpelling -> 0

Findinf match
matching: me and zpelling = -13
matching: pipe-dream and zpelling = -10
matching: zero and zpelling = -11
zero pipe-dream me 

Enter word to search for: spelling
compare: me and spelling = -6
compare: pipe-dream and spelling = -3
compare: zero and spelling = 7
compare: understanding and spelling = 2

result of search for spelling -> 0

Findinf match
matching: me and spelling = -6
matching: pipe-dream and spelling = -3
matching: zero and spelling = 7
matching: understanding and spelling = 2
understanding zero pipe-dream me 

Enter word to search for: ***
compare: me and *** = 35
compare: lunch and *** = 34
compare: food and *** = 28
compare: eat and *** = 27
compare: each and *** = 27

result of search for *** -> 0

Findinf match
matching: me and *** = 35
matching: lunch and *** = 34
matching: food and *** = 28
matching: eat and *** = 27
matching: each and *** = 27
each eat food lunch 

C:\204\ASS#3>exit
Script completed Fri Dec 01 04:39:59 1995

TEST2A.TXT
==========

Script session started $Revision: 1.1 $

Microsoft(R) MS-DOS(R) Version 6.20
             (C)Copyright Microsoft Corp 1981-1993.

[1;31m 4:40:34.77 C:\VWIN\204\ASS#3>[1;36mspellt2
Enter the name of a file contains a list of words: text.txt

Words added: my, what, , 

Display of input dictionary
what 
my  

Enter the name of the text file you want to type: tout.txt

You must put type one word perline
The computer will beep if the word is not in the dictionary
I
               Is I correctly spelled(Y,N)?y
am
               Is am correctly spelled(Y,N)?n
                        Matches found: I  my 
am
               Is am correctly spelled(Y,N)?y
testing
               Is testing correctly spelled(Y,N)?y
small
               Is small correctly spelled(Y,N)?n
                        Matches found: testing what my 
text
               Is text correctly spelled(Y,N)?y
file
               Is file correctly spelled(Y,N)?y
***

[1;31m 4:43:21.03 C:\VWIN\204\ASS#3>[1;36mexit
Script completed Fri Dec 01 04:43:23 1995

TEST2B.TXT
==========

Script session started $Revision: 1.1 $

Microsoft(R) MS-DOS(R) Version 6.20
             (C)Copyright Microsoft Corp 1981-1993.

[1;31m 4:46:29.09 C:\VWIN\204\ASS#3>spellt2
Enter the name of a file contains a list of words: none

Could not open your file

Display of input dictionary
 
Enter the name of the text file you want to type: t2.txt

You must put type one word perline
The computer will beep if the word is not in the dictionary
none
               Is none correctly spelled(Y,N)?n
                        Matches found: No matches found

none
               Is none correctly spelled(Y,N)?y
help
               Is help correctly spelled(Y,N)?n
                        Matches found: none 
can
               Is can correctly spelled(Y,N)?y
be
               Is be correctly spelled(Y,N)?n
                        Matches found: can none 
found
               Is found correctly spelled(Y,N)?y
he-man
               Is he-man correctly spelled(Y,N)?y
he-man
none
help
               Is help correctly spelled(Y,N)?n
                        Matches found: he-man found can none 
be
               Is be correctly spelled(Y,N)?y
***

[1;31m 4:47:55.27 C:\VWIN\204\ASS#3>[1;36mexit
Script completed Fri Dec 01 04:47:57 1995

TEST2C.TXT
==========

Script session started $Revision: 1.1 $

Microsoft(R) MS-DOS(R) Version 6.20
             (C)Copyright Microsoft Corp 1981-1993.

[1;31m 4:48:59.92 C:\VWIN\204\ASS#3>[1;36mspellt2
Enter the name of a file contains a list of words: words.doc

Words added: most, my, numbers, of, only, over, people, prove, right, same, start, you, all, and, are, before, but, can, could, four, get, go, help, stop, straight, taking, that, think, three, to, well, what, words, world, would, I, if, is, it, jacket, jus

Display of input dictionary
you would 
world 
words 
what 
well very 

to 
three 
think 
that 
taking sucker 

straight 
stop 

start smart 

same 
right 
prove 
people 
over 
only 
of 
numbers 
my 
most me 
light 
let 
labelling 
just 
jacket 
it 
is 
if 
I 
help 
go 
get 
four 
could computer 

can 
but 
before aren't 

are 
and 
all  


Enter the name of the text file you want to type: t3.txt

You must put type one word perline
The computer will beep if the word is not in the dictionary
none
               Is none correctly spelled(Y,N)?n
                        Matches found: numbers my most 
none
               Is none correctly spelled(Y,N)?y
none
be
               Is be correctly spelled(Y,N)?k
                        Matches found: aren't before are and 
line over flow
               Is line correctly spelled(Y,N)?                 Matches found: me light let labelling 
               Is ver correctly spelled(Y,N)?                  Matches found: very well to three 
               Is low correctly spelled(Y,N)?n
                        Matches found: me light let labelling 
understading
               Is understading correctly spelled(Y,N)?n
                        Matches found: very well to three 
evil-man
               Is evil-man correctly spelled(Y,N)?n
                        Matches found: four could can but 
four
but
can-it
               Is can-it correctly spelled(Y,N)?y
can-it!
lunch-break.
               Is lunch-break correctly spelled(Y,N)?n
                        Matches found: me light let labelling 
label
               Is label correctly spelled(Y,N)?n
                        Matches found: labelling just jacket it 
done
               Is done correctly spelled(Y,N)?y
***

[1;31m 4:51:21.46 C:\VWIN\204\ASS#3>[1;36mexit
Script completed Fri Dec 01 04:51:22 1995

TEST3A.TXT
==========

Script session started $Revision: 1.1 $

Microsoft(R) MS-DOS(R) Version 6.20
             (C)Copyright Microsoft Corp 1981-1993.

[1;31m 4:55:20.39 C:\VWIN\204\ASS#3>[1;36mspell
Enter the name of a file contains a list of words: t2.txt

Words added: none, can, found, he-man, he-man, none, be, , 

Display of input dictionary
Enter the name of the text file you want to type: a1.txt

You must put type one word per line
The computer will beep if the word is not in the dictionary
Type *** as a word to end input
goody
               Is goody correctly spelled(Y,N)?n
                        Matches found: he-man he-man found can 
found
n0ne
               Is n0ne correctly spelled(Y,N)?n
                        Matches found: none he-man found can 
he-man
he-men
               Is he-men correctly spelled(Y,N)?n
                        Matches found: none he-man found can 
she-girl
               Is she-girl correctly spelled(Y,N)?y
she
               Is she correctly spelled(Y,N)?n
                        Matches found: she-girl none 
none
goody
               Is goody correctly spelled(Y,N)?n
                        Matches found: he-man he-man found can 
she-girl
help!
               Is help correctly spelled(Y,N)?n
                        Matches found: none he-man found can 
help!
               Is help correctly spelled(Y,N)?y
help
help?
great
               Is great correctly spelled(Y,N)?y
work
               Is work correctly spelled(Y,N)?n
                        Matches found: she-girl none 
***

[1;31m 4:57:17.54 C:\VWIN\204\ASS#3>[1;36mexit
Script completed Fri Dec 01 04:57:19 1995

TEST3B.TXT
==========

Script session started $Revision: 1.1 $

Microsoft(R) MS-DOS(R) Version 6.20
             (C)Copyright Microsoft Corp 1981-1993.

[1;31m 4:58:09.28 C:\VWIN\204\ASS#3>[1;36mspell
Enter the name of a file contains a list of words: none

Words added: , 

Display of input dictionary
Enter the name of the text file you want to type: a2.txt

You must put type one word per line
The computer will beep if the word is not in the dictionary
Type *** as a word to end input
goody
               Is goody correctly spelled(Y,N)?n
                        Matches found:  
oh well
               Is oh correctly spelled(Y,N)?                   Matches found:  
               Is ell correctly spelled(Y,N)?n
                        Matches found:  
oh
               Is oh correctly spelled(Y,N)?y
oh well
               Is well correctly spelled(Y,N)?y
a
               Is a correctly spelled(Y,N)?n
                        Matches found: oh  
z
               Is z correctly spelled(Y,N)?n
                        Matches found: well oh  
cat
               Is cat correctly spelled(Y,N)?y
dog
               Is dog correctly spelled(Y,N)?fish
                        Matches found: cat oh  
               Is ish correctly spelled(Y,N)?n
                        Matches found: cat oh  
good
               Is good correctly spelled(Y,N)?y
good
oh
oh well good
a
               Is a correctly spelled(Y,N)?n
                        Matches found: cat oh  
z
               Is z correctly spelled(Y,N)?n
                        Matches found: well oh  
***

[1;31m 4:59:55.12 C:\VWIN\204\ASS#3>[1;36mexit
Script completed Fri Dec 01 04:59:57 1995

TEST3C.TXT
==========

Script session started $Revision: 1.1 $

Microsoft(R) MS-DOS(R) Version 6.20
             (C)Copyright Microsoft Corp 1981-1993.

[1;31m 5:00:41.43 C:\VWIN\204\ASS#3>[1;36mspell
Enter the name of a file contains a list of words: words.doc

Words added: most, my, numbers, of, only, over, people, prove, right, same, start, you, all, and, are, before, but, can, could, four, get, go, help, stop, straight, taking, that, think, three, to, well, what, words, world, would, I, if, is, it, jacket, just

Display of input dictionary
Enter the name of the text file you want to type: a3.txt

You must put type one word per line
The computer will beep if the word is not in the dictionary
Type *** as a word to end input
yahoo
               Is yahoo correctly spelled(Y,N)?n
                        Matches found: would world words what 
yahoo
               Is yahoo correctly spelled(Y,N)?y
three!
going
               Is going correctly spelled(Y,N)?n
                        Matches found: help go get four 
words
word
               Is word correctly spelled(Y,N)?y
w0rd
               Is w0rd correctly spelled(Y,N)?n
                        Matches found: very well to three 
smart
sm-rt
               Is sm-rt correctly spelled(Y,N)?n
                        Matches found: smart start same right 
start
the end!
               Is the correctly spelled(Y,N)?                  Matches found: think that taking straight 
               Is nd correctly spelled(Y,N)?n
                        Matches found: numbers my most 
the
               Is the correctly spelled(Y,N)?y
the
end!
               Is end correctly spelled(Y,N)?y
end
end.
***

[1;31m 5:02:38.25 C:\VWIN\204\ASS#3>[1;36mexit
Script completed Fri Dec 01 05:02:39 1995

Text file Source (historic): geocities.com/x_xet/data

geocities.com/x_xet

(to report bad content: archivehelp @ gmail)