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...


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=""><>

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;>

int j = 0;

for(; j
if(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;



}


(8) Implement the ReplaceExclamation() function. ReplaceExclamation() has a string parameter and updates the string by replacing each T<br>character in the string with a character. ReplaceExclamation() DOES NOT output the string. Call ReplaceExclamation() in the<br>ExecuteMenu() function, and then output the edited string.<br>Ex.<br>Edited text: We'll continue our quest in space.<br>There will be more shuttle flights and more<br>shuttle crews and,<br>yes,<br>more volunteers, more civilians,<br>more teachers in space.<br>Nothing ends<br>here;<br>our hopes and our journeys continue.<br>(9) Implement the ShortenSpace() function. ShortenSpace() has a string parameter and updates the string by replacing all sequences of 2<br>or more spaces with a single space. ShortenSpace() DOES NOT output the string. Call ShortenSpace() in the ExecuteMenu() function, and<br>then output the edited string.<br>Ex:<br>Edited text: We'll continue our quest in space. There will be more shuttle flights and more<br>shuttle crews and, yes, more volunteers, more civilians, more teachers in space. Nothing ends<br>here; our hopes and our journeys continue!<br>

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!
Jun 11, 2022
SOLUTION.PDF

Get Answer To This Question

Submit New Assignment

Copy and Paste Your Assignment Here