C++ part 4: I have these error i am missing the ExecuteMenu Function This is my code 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 << "\nMENU"<> option; if(option == 'c'){ int nonWSCharacters = GetNumOfNonWSCharacters(sample_text); cout << "Number of non-whitespace characters: "<
C++ part 4: I have these error i am missing the ExecuteMenu Function
This is my code so far.
#include <iostream>
#include <string>
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 << "\nMENU"<<endl;
cout << "c - Number of non-whitespace characters"<<endl;
cout << "w - Number of words"<<endl;
cout << "f - Find text"<<endl;
cout << "r - Replace all !'s"<<endl;
cout << "s - Shorten spaces"<<endl;
cout << "q - Quit"<<endl;
cout<<endl;
cout << "Choose an option:"<<endl;
cin >> option;
if(option == 'c'){
int nonWSCharacters = GetNumOfNonWSCharacters(sample_text);
cout << "Number of non-whitespace characters: "<<nonWSCharacters<<endl;
}else if(option == 'w'){
int numOfWords = GetNumOfWords(sample_text);
cout << "Number of words: "<<numOfWords<<endl;
}else if(option == 'f'){
cout<<"Enter a word or phrase to be found:"<<endl;
string phrase;
cin.ignore();
getline(cin, phrase, '\n');
int instances = FindText(phrase,sample_text);
cout << "\""<< phrase << "\" instances: "<<instances<<endl;
}else if(option == 'r'){
string edited_text = ReplaceExclamation(sample_text);
cout << "Edited text: "<<edited_text<<endl;
}else if(option == 's'){
string edited_text = ShortenSpace(sample_text);
cout << "Edited text: "<<edited_text<< endl;
}
return option;
}
int GetNumOfNonWSCharacters(const string text){
int len = text.length(), nonWSCharacters = 0;
for(int i = 0; i < len; 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 < len; i++){
if(text[i] == ' ' || text[i] == '\n' || text[i] == '\t'){
numOfWords++;
++i;
while(i < len && (text[i] == ' ' || text[i] == '\n' || text[i] == '\t'))
++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; i++){
int j = 0;
for(; j<text_length; 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 < len)
{
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 < len-1)
{
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 text:"<<endl;
getline(cin, sample_text);
cout<<endl;
cout << "You entered: ";
cout<<sample_text<<endl;
while(true){
char option = PrintMenu(sample_text);
if(option=='q')
break;
}
return 0;
}
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 5 images