C++ this is my code so far need help with part 9
#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(){
char option;
cout <><>
cout <><>
cout <><>
cout <><>
cout <><>
cout <><>
cout <><>
cout<>
cout <><>
cin >> option;
return option;
}
void ExecuteMenu(string sample_text,char option){
if(option == 'c'){
int nonWSCharacters = GetNumOfNonWSCharacters(sample_text);
cout <><><>
}else if(option == 'w'){
int numOfWords = GetNumOfWords(sample_text);
cout <><><>
}else if(option == 'f'){
cout<><>
string phrase;
cin.ignore();
getline(cin, phrase, '\n');
int instances = FindText(phrase,sample_text);
cout <><><><><>
}else if(option == 'r'){
string edited_text = ReplaceExclamation(sample_text);
cout <><><>
}else if(option == 's'){
string edited_text = ShortenSpace(sample_text);
cout <><>
}
}
int GetNumOfNonWSCharacters(const string text){
int len = text.length(), nonWSCharacters = 0;
for(int i = 0; i <>
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 <>
if(text[i] == ' ' || text[i] == '\n' || text[i] == '\t'){
numOfWords++;
++i;
while(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<>
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 <><>
getline(cin, sample_text);
cout<>
cout <>
cout<><>
while(true){
char option = PrintMenu();
ExecuteMenu(sample_text,option);
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!