C++ Need help with part 8
This is what i have so far
#include #include using namespace std;int GetNumOfNonWSCharacters(const string text);int GetNumOfWords(const string text);int FindText(string text, string sample_text);string ReplaceExclamation(string text);string ShortenSpace(string text);char PrintMenu(string sample_text){char option;cout <><>cout < "c="" -="" number="" of="" non-whitespace=""><>cout < "w="" -="" number="" of=""><>cout < "f="" -="" find=""><>cout < "r="" -="" replace="" all=""><>cout < "s="" -="" shorten=""><>cout < "q="" -=""><>cout<>cout < "choose="" an=""><>cin >> option;if(option == 'c'){int nonWSCharacters = GetNumOfNonWSCharacters(sample_text);cout < "number="" of="" non-whitespace="" characters:=""><><>}else if(option == 'w'){int numOfWords = GetNumOfWords(sample_text);cout < "number="" of="" words:=""><><>}else if(option == 'f'){cout<"enter a="" word="" or="" phrase="" to="" be="">"enter><>string phrase;cin.ignore();getline(cin, phrase, '\n');int instances = FindText(phrase,sample_text);cout <>< phrase="">< "\"="" instances:=""><><>}else if(option == 'r'){string edited_text = ReplaceExclamation(sample_text);cout < "edited="" text:=""><><>}else if(option == 's'){string edited_text = ShortenSpace(sample_text);cout < "edited="" text:=""><>}return option;}int GetNumOfNonWSCharacters(const string text){int len = text.length(), nonWSCharacters = 0;for(int i = 0; i < len;="">if(text[i] != ' ' && text[i] != '\n' && text[i] != '\t')nonWSCharacters++;}return nonWSCharacters;}int GetNumOfWords(const string text){int len = text.length(), numOfWords = 0;for(int i = 0; i < len;="">if(text[i] == ' ' || text[i] == '\n' || text[i] == '\t'){numOfWords++;++i;while(i < len="" &&="" (text[i]="=" '="" '="" ||="" text[i]="=" '\n'="" ||="" text[i]="=">++i;--i;}}if(text[len-1] != ' ' || text[len-1] != '\n' || text[len-1] != '\t')numOfWords++;return numOfWords;}int FindText(string text, string sample_text){int sample_length = sample_text.length();int text_length = text.length();int instances = 0;for(int i=0;i<=sample_length-text_length;>=sample_length-text_length;>int j = 0;for(; jif(text[j]!=sample_text[i+j])break;}if(j==text_length){instances++;}}return instances;}string ReplaceExclamation(string sample_text){int len = sample_text.length();int i = 0;string edited_text = "";while(i <>{if(sample_text[i] == '!'){edited_text += '.';}else{edited_text += sample_text[i];}i++;}return edited_text;} string ShortenSpace(string sample_text){int len = sample_text.length();int i = 0;string edited_text = "";while(i <>{if(sample_text[i] == ' ' && sample_text[i+1] == ' '){i++;continue;}else{edited_text += sample_text[i];}i++;}if(sample_text[len-1] != ' '){edited_text += sample_text[len-1];}return edited_text;}int main(){string sample_text;cout < "enter="" a="" sample=""><>getline(cin, sample_text);cout<>cout < "you="" entered:="">cout<><>while(true){char option = PrintMenu(sample_text);if(option=='q')break;}return 0;}Extracted text: (8) Implement the ReplaceExclamation() function. ReplaceExclamation() has a string parameter and updates the string by replacing each T character in the string with a character. ReplaceExclamation() DOES NOT output the string. Call ReplaceExclamation() in the ExecuteMenu() function, and then output the edited string. Ex. Edited text: We'll continue our quest in space. There will be more shuttle flights and more shuttle crews and, yes, more volunteers, more civilians, more teachers in space. Nothing ends here; our hopes and our journeys continue. (9) Implement the ShortenSpace() function. ShortenSpace() has a string parameter and updates the string by replacing all sequences of 2 or more spaces with a single space. ShortenSpace() DOES NOT output the string. Call ShortenSpace() in the ExecuteMenu() function, and then output the edited string. Ex: Edited text: We'll continue our quest in space. There will be more shuttle flights and more shuttle crews and, yes, more volunteers, more civilians, more teachers in space. Nothing ends here; our hopes and our journeys continue!
using namespace std;
int GetNumOfNonWSCharacters(const string text);int GetNumOfWords(const string text);int FindText(string text, string sample_text);string ReplaceExclamation(string text);string ShortenSpace(string text);char PrintMenu(string sample_text){char option;cout <><>cout < "c="" -="" number="" of="" non-whitespace=""><>cout < "w="" -="" number="" of=""><>cout < "f="" -="" find=""><>cout < "r="" -="" replace="" all=""><>cout < "s="" -="" shorten=""><>cout < "q="" -=""><>cout<>cout < "choose="" an=""><>cin >> option;if(option == 'c'){int nonWSCharacters = GetNumOfNonWSCharacters(sample_text);cout < "number="" of="" non-whitespace="" characters:=""><><>}else if(option == 'w'){int numOfWords = GetNumOfWords(sample_text);cout < "number="" of="" words:=""><><>}else if(option == 'f'){cout<"enter a="" word="" or="" phrase="" to="" be="">"enter><>string phrase;cin.ignore();getline(cin, phrase, '\n');int instances = FindText(phrase,sample_text);cout <>< phrase="">< "\"="" instances:=""><><>}else if(option == 'r'){string edited_text = ReplaceExclamation(sample_text);cout < "edited="" text:=""><><>}else if(option == 's'){string edited_text = ShortenSpace(sample_text);cout < "edited="" text:=""><>}return option;}int GetNumOfNonWSCharacters(const string text){int len = text.length(), nonWSCharacters = 0;for(int i = 0; i < len;="">if(text[i] != ' ' && text[i] != '\n' && text[i] != '\t')nonWSCharacters++;}return nonWSCharacters;}int GetNumOfWords(const string text){int len = text.length(), numOfWords = 0;for(int i = 0; i < len;="">if(text[i] == ' ' || text[i] == '\n' || text[i] == '\t'){numOfWords++;++i;while(i < len="" &&="" (text[i]="=" '="" '="" ||="" text[i]="=" '\n'="" ||="" text[i]="=">++i;--i;}}if(text[len-1] != ' ' || text[len-1] != '\n' || text[len-1] != '\t')numOfWords++;return numOfWords;}int FindText(string text, string sample_text){int sample_length = sample_text.length();int text_length = text.length();int instances = 0;for(int i=0;i<=sample_length-text_length;>=sample_length-text_length;>int j = 0;for(; jif(text[j]!=sample_text[i+j])break;}if(j==text_length){instances++;}}return instances;}string ReplaceExclamation(string sample_text){int len = sample_text.length();int i = 0;string edited_text = "";while(i <>{if(sample_text[i] == '!'){edited_text += '.';}else{edited_text += sample_text[i];}i++;}return edited_text;} string ShortenSpace(string sample_text){int len = sample_text.length();int i = 0;string edited_text = "";while(i <>{if(sample_text[i] == ' ' && sample_text[i+1] == ' '){i++;continue;}else{edited_text += sample_text[i];}i++;}if(sample_text[len-1] != ' '){edited_text += sample_text[len-1];}return edited_text;}int main(){string sample_text;cout < "enter="" a="" sample=""><>getline(cin, sample_text);cout<>cout < "you="" entered:="">cout<><>while(true){char option = PrintMenu(sample_text);if(option=='q')break;}return 0;}
Already registered? Login
Not Account? Sign up
Enter your email address to reset your password
Back to Login? Click here