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
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
Get step-by-step solutions from verified subject matter experts
