#include #include #include #include "Util.h" #include "DictionaryT.h" #include "DictionaryEntryT.h" using namespace std; void ReadDictionary(DictionaryT & dictionary); void PrintDictionary(const DictionaryT & dictionary); void ProbeDictionary(const DictionaryT & dictionary); int main() { DictionaryT dictionary; ReadDictionary(dictionary); dictionary.Sort(); PrintDictionary(dictionary); ProbeDictionary(dictionary); return 0; } DictionaryEntryT GetWord(ifstream & inFile){ string word; inFile >> word; return DictionaryEntryT{word}; } void ReadDictionary(DictionaryT & dictionary){ DictionaryEntryT entry; ifstream inFile{"ocap.txt"}; if (!inFile) { cout << "Unable to open data file" << endl; } else { entry = GetWord(inFile); while (inFile){ if (entry.GetWord() != "") { dictionary.AddWord(entry); } entry = GetWord(inFile); } } inFile.close(); } void PrintDictionary(const DictionaryT & dictionary){ size_t i; DictionaryEntryT entry; for(i = 0; i < dictionary.Size(); ++i) { entry = dictionary.GetEntry(i); cout << setw(10) << entry.GetWord() << setw(10) << entry.GetCount() << endl; } } bool Continue() { char code{'x'}; while (code != 'y' and code != 'n') { cout << "Do you wish to continue (y,n): "; cin >> code; code = static_cast(tolower(code)); cout << endl; } return code == 'y'; } void ProbeDictionary(const DictionaryT & dictionary){ string word; DictionaryEntryT entry; do { cout << "Enter a word to search for: "; cin >> word; word = CleanString(word); entry = dictionary.GetEntry(word); if (entry.GetCount() != 0) { cout << setw(10) << entry.GetWord() << setw(10) << entry.GetCount() << endl; } else { cout << word << " is not in the dictionary" << endl; } } while (Continue()); }