Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Need some help converting a C program to C++ Thanks so much for the help! Code #

ID: 3820990 • Letter: N

Question

Need some help converting a C program to C++

Thanks so much for the help!

Code

#include<stdio.h>
#include <string.h>

int GetNumOfNonWSCharacters(const char usrStr[]) {
int num = 0,i;
for (i = 0; i < strlen(usrStr); ++i) {
if ((usrStr[i] == ' ') || (usrStr[i] == ' ') || (usrStr[i] == ' ') || (usrStr[i] == '')) {
} 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<n;j++)
usrStr[j]=usrStr[j+1];
n--;
}
else
{
i++;
}
}

}


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

Explanation / Answer

#include<iostream>
#include <string>
#include <cctype>

using namespace std;

int GetNumOfNonWSCharacters(const char usrStr[]) {
int num = 0,i;
for (i = 0; i < strlen(usrStr); ++i) {
if ((usrStr[i] == ' ') || (usrStr[i] == ' ') || (usrStr[i] == ' ') || (usrStr[i] == '')) {
} 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<n;j++)
usrStr[j]=usrStr[j+1];
n--;
}
else
{
i++;
}
}
}

char PrintMenu(char usrStr[]) {
char menuOp = ' ';
cout <<"MENU ";
cout <<"c - Number of non-whitespace characters ";
cout <<"w - Number of words ";
cout <<"f - Fix capitalization ";
cout <<"r - Replace all !'s ";
cout <<"s - Shorten spaces ";
cout <<"q - Quit ";
  
while (menuOp != 'c' && menuOp != 'w' && menuOp != 'f' &&
menuOp != 'r' && menuOp != 's' && menuOp != 'o' &&
menuOp != 'q') {
cout <<"Choose an option: ";
cin >> menuOp;
}
if (menuOp == 'c') {
cout << "Number of non-whitespace characters: "<< GetNumOfNonWSCharacters(usrStr) << " " ;
menuOp = ' ';
} else if (menuOp == 'w') {
cout <<"Number of words: "<< GetNumOfWords(usrStr)<<" ";
menuOp = ' ';
} else if (menuOp == 'f') {
FixCapitalization(usrStr);
cout <<"Edited text: "<< usrStr<<" ";
menuOp = ' ';
} else if (menuOp == 'r') {
ReplaceExclamation(usrStr);
cout <<"Edited text: "<< usrStr<<" ";
menuOp = ' ';
} else if (menuOp == 's') {
ShortenSpace(usrStr);
cout <<"Edited text: "<< usrStr<<" ";
menuOp = ' ';
}
return menuOp;
}
int main() {
char userString[256];
char menuChoice = ' ';
cout <<"Enter a sample text: ";
fgets(userString, 256, stdin);
cout <<" ";
cout <<"You entered: "<<userString<<" ";
while (menuChoice != 'q') {
menuChoice = PrintMenu(userString);
}
return 0;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote