Question: Need some help converting a C program to C++ Thanks so much for the help! Code #include #include int GetNumOfNonWSCharacters(const char usrStr[]) { int num

Need some help converting a C program to C++

Thanks so much for the help!

Code

#include #include

int GetNumOfNonWSCharacters(const char usrStr[]) { int num = 0,i; for (i = 0; i < strlen(usrStr); ++i) { if ((usrStr[i] == ' ') || (usrStr[i] == '\t') || (usrStr[i] == ' ') || (usrStr[i] == '\0')) { } else { ++num; } } return num; }

int GetNumOfWords(const char usrStr[]) { int num = 1, i; for ( i = 0; i < strlen(usrStr); ++i) { if ((usrStr[i] == ' ') && (usrStr[i + 1] != ' ')) { ++num; }

} return num;

}

void FixCapitalization(char usrStr[]) { usrStr[0] = toupper(usrStr[0]); int i, j; for (i = 0; i < strlen(usrStr); ++i) { int j = i; if ((usrStr[i] == '.')) { for (j = i + 1; j < strlen(usrStr); j++) { if (isalpha(usrStr[j]) != 0) { usrStr[j] = toupper(usrStr[j]); break; } } } } }

void ReplaceExclamation(char usrStr[]) { int i = 0; for (i = 0; i < strlen(usrStr); ++i) { if ((usrStr[i] == '!')) { usrStr[i] = '.'; }

}

}

void ShortenSpace(char usrStr[]) {

int i=0,j;

/*for (i = 0; i < strlen(usrStr); ++i) { if ((usrStr[i] == ' ') && (usrStr[i + 1] == ' ')) { for (j = i; j < strlen(usrStr); ++j) { usrStr[j+1] = usrStr[j+2]; } } }*/ int n = strlen(usrStr); while (i < n) { if(usrStr[i]==' ' && (usrStr[i+1]==' ' || usrStr[i-1]==' ')) { for(j=i;j

}

char PrintMenu(char usrStr[]) { char menuOp = ' ';

printf("MENU "); printf("c - Number of non-whitespace characters "); printf("w - Number of words "); printf("f - Fix capitalization "); printf("r - Replace all !\'s "); printf("s - Shorten spaces "); printf("q - Quit "); while (menuOp != 'c' && menuOp != 'w' && menuOp != 'f' && menuOp != 'r' && menuOp != 's' && menuOp != 'o' && menuOp != 'q') { printf("Choose an option: "); scanf(" %c", &menuOp); }

if (menuOp == 'c') { printf("Number of non-whitespace characters: %d ", GetNumOfNonWSCharacters(usrStr)); menuOp = ' '; } else if (menuOp == 'w') { printf("Number of words: %d ", GetNumOfWords(usrStr)); menuOp = ' '; } else if (menuOp == 'f') { FixCapitalization(usrStr); printf("Edited text: %s ", usrStr); menuOp = ' '; } else if (menuOp == 'r') { ReplaceExclamation(usrStr); printf("Edited text: %s ", usrStr); menuOp = ' '; } else if (menuOp == 's') { ShortenSpace(usrStr); printf("Edited text: %s ", usrStr); menuOp = ' '; }

return menuOp; }

int main() { char userString[256]; char menuChoice = ' ';

printf("Enter a sample text: "); fgets(userString, 256, stdin); printf(" ");

printf("You entered: %s ", userString);

while (menuChoice != 'q') { menuChoice = PrintMenu(userString); }

return 0; }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!