int main() { Thesaurus thesaurus; // Fill with 10 entries: generate_n( inserter(thesaurus, thesaurus.begin()), 10, ThesaurusGen()); // Print everything: copy(thesaurus.begin(), thesaurus.end(), ostream_iterator<TEntry>(cout, "\n")); // Ask for a "word" to look up: while(true) { cout << "Select a \"word\", 0 to quit: "; for(TIter it = thesaurus.begin(); it != thesaurus.end(); it++) cout << (*it).first << ' '; cout << endl; string reply; cin >> reply; if(reply.at(0) == '0') return 0; // Quit if(thesaurus.find(reply) == thesaurus.end()) continue; // Not in list, try again vector<string>& v = thesaurus[reply]; copy(v.begin(), v.end(), ostream_iterator<string>(cout, " ")); cout << endl; } } ///:~
// Ask for a "word" to look up: string menu(Thesaurus &thesaurus) { while(true) { cout << "Select a \"word \" , 0 to quit: "; for(TIter it = thesaurus.begin(); it != thesaurus.end(); it++) cout << (*it).first << ' '; cout << endl; string replay; cin >> replay; if(replay.at(0) == '0') exit(0); if(thesaurus.find(replay) == thesaurus.end()) continue; // Not in list, try again return replay; } }
int main() { Thesaurus thesaurus; // Fill with 10 entries: generate_n( inserter(thesaurus, thesaurus.begin()), 10, ThesaurusGen()); // Print everything: copy(thesaurus.begin(), thesaurus.end(), ostream_iterator<TEntry>(cout, "\n")); // Create a list of the keys: string keys[10]; int i = 0; for(TIter it = thesaurus.begin(); it != thesaurus.end(); it++) keys[i++] = (*it).first; for(int count = 0; count < 10; count++) { // Enter from the console: // string reply = menu(thesaurus); // Generate randomly (for automated testing): string reply = keys[rand() % 10]; vector<string>& v = thesaurus[reply]; copy(v.begin(), v.end(), ostream_iterator<string>(cout, " ")); cout << endl; } } ///:~
int main() { srand(time(0)); Thesaurus thesaurus; // Fill with 10 entries: generate_n(inserter(thesaurus, thesaurus.begin()), 10, ThesaurusGen()); // Print evetythins: copy(thesaurus.begin(), thesaurus.end(), ostream_iterator<TEntry>(cout, "\n")); // Create a list of the keys: string keys[10]; int i = 0; for(TIter it = thesaurus.begin(); it != thesaurus.end(); it++) keys[i++] = (*it).first; for(int count = 0; count < 10; count++) { // Entry from the console: string replay = keys[rand() % 10]; vector<string> &v = thesaurus[replay]; copy(v.begin(), v.end(), ostream_iterator<string>(cout, " ")); cout << endl; } }
//displays menu as well as loads the Thesaurus and Dictionary int main(int argc, char *argv[]) { Dictionary baseDictionary(argv[1]); Thesaurus baseThesaurus; cout << " __WORD OF THE DAY__" << endl; cout << endl; baseDictionary.rndWord(); cout << endl; userChoice = -1; while (userChoice != 0) { cout << "======AwfulWafful's Dictionary======" << endl; cout << "1. Search Dictionary" << endl; cout << "2. How Accurate Is My Paper?" << endl; cout << "3. My Thesaurus" << endl; cout << "4. Exit" << endl; getline(cin,userChoiceStr); userChoice = atoi(userChoiceStr.c_str()); switch (userChoice) { case 1: while (userChoice != -1) { cout << "1. Print A Section" << endl; cout << "2. Find a Word" << endl; cout << "3. Go Back" << endl; getline(cin,userChoiceStr); userChoice = atoi(userChoiceStr.c_str()); switch (userChoice) { case 1: cout << "Enter The Section You Wish To Print (Eg. 'A' ):" << endl; getline(cin,userChoiceStr); while (userChoiceStr.size() > 1 || userChoiceStr[0] < 65 || userChoiceStr[0] > 122) { cout << "Please Enter A Single Letter (A-Z) In Order To Indicate the Section\nYou Wish To Print:" << endl; getline(cin,userChoiceStr); } baseDictionary.printDict(userChoiceStr); break; case 2: cout << "Please Enter The Word You Wish To Find:" << endl; getline(cin,wordD); baseDictionary.searchDict(wordD); break; case 3: userChoice = -1; break; default: cout << endl; cout << "Please Choose An Option From The Menu" << endl; cout << endl; } } break; case 2: cout << "Please Enter The Full Path Of The .txt File\nYou Wish To Check:" << endl; getline(cin, filePath); while (userChoice != -1) { cout << "******Paper Editor******" << endl; cout << "1. Spell Check" << endl; cout << "2. Top Ten Histogram" << endl; cout << "3. Words Only Used Once" << endl; cout << "4. Word Accuracy" << endl; cout << "5. Go Back" << endl; getline(cin, userChoiceStr); userChoice = atoi(userChoiceStr.c_str()); switch (userChoice) { case 1: break; case 2: break; case 3: break; case 4: break; case 5: userChoice = -1; break; default: cout << endl; cout << "Please Choose An Option From The Menu" << endl; cout << endl; } } break; case 3: while (userChoice != -1) { cout << "******My Thesaurus******" << endl; cout << "1. Add Thesaurus Entry" << endl; cout << "2. Delete Thesaurus Entry" << endl; cout << "3. Search Thesaurus" << endl; cout << "4. Go Back" << endl; getline(cin,userChoiceStr); userChoice = atoi(userChoiceStr.c_str()); switch (userChoice) { case 1: cout << "Please Enter Word Pairs Followed By A Percent Value Of Their Relatability:\nEG. 'Mountain,Hill,70 Gym,School,30'" << endl; getline(cin,thesaurusEntry); if (userChoice == 1) { stringstream ss(thesaurusEntry); while (getline(ss,thesaurusEntry, ' ')) { stringstream dd(thesaurusEntry); getline(dd,word1,','); baseThesaurus.addVertex(word1); getline(dd,word2,','); baseThesaurus.addVertex(word2); getline(dd,percentStr); percent = atoi(percentStr.c_str()); baseThesaurus.addEdge(word1,word2,percent); } } break; case 2: cout << "Please Enter The Connection(s) You Wish To Terminate, Separated By A Space:\nEG. 'Mountain,Hill School,Gym'" << endl; cout << "Or Delete An Entire Entry by Typing In The Word You Wish To Delete In Brackets:\nEG. '[Mountain]'" << endl; getline(cin,thesaurusEntry); if (userChoice == 2) { if (thesaurusEntry[0] == 91 && thesaurusEntry[thesaurusEntry.size()-1] == 93) { stringstream ss(thesaurusEntry); getline(ss,word1,'['); getline(ss,word1,']'); baseThesaurus.deleteVertex(word1); } else { stringstream ss(thesaurusEntry); while (getline(ss,thesaurusEntry, ' ')) { stringstream dd(thesaurusEntry); getline(dd,word1,','); getline(dd,word2); baseThesaurus.deleteEdge(word1,word2); } } } break; case 3: cout << "Please Enter The Word You Wish To Search And The Minimum Percent Relatability\nTo This Word You Require Eg. 'Mountain,70':" << endl; cout << "Or, If You Wish To Print All The Words In Your Thesaurus Please Type In The Number 1 followed by a comma EG. '1,':" << endl; getline(cin,word1,','); if (word1.compare("1") == 0) { baseThesaurus.printThesaurus(); } else { getline(cin,percentStr); percent = atoi(percentStr.c_str()); baseThesaurus.searchThesaurus(word1, percent); } break; case 4: userChoice = -1; break; default: cout << endl; cout << "Please Choose An Option From The Menu" << endl; cout << endl; } } break; case 4: cout << "Goodbye!" << endl; cout << "...or is it?" << endl; userChoice = 0; break; default: cout << endl; cout << "Please Choose An Option From The Menu" << endl; cout << endl; userChoice = -1; } } return 0; }