1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Ipatiy [6.2K]
3 years ago
10

C++ Project

Computers and Technology
1 answer:
avanturin [10]3 years ago
5 0

Answer:

see explaination

Explanation:

#include <iostream>

#include <string>

using namespace std;

//function declarations

char PrintMenu(string& userString);

int GetNumOfNonWSCharacters(const string userString);

int GetNumOfWords(const string userString);

int FindText(const string& userString, const string& findString);

void ReplaceExclamation(string& periodString);

void ShortenSpace(string& shortenedString);

char menuChoice;

int main()

{

string userString;

cout << "Enter a sample text: ";

getline(cin, userString);

cout << endl << endl << "You entered: " << userString << endl;

PrintMenu(userString);

while (menuChoice != 'q')

{

PrintMenu(userString);

}

// system("pause");

return 0;

}

char PrintMenu(string& userString)

{

cout << "MENU" << 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 << endl;

cout << "Choose an option: " << endl;

cin >> menuChoice;

while ((menuChoice != 'c') && (menuChoice != 'w') && (menuChoice != 'f') && (menuChoice != 'r') && (menuChoice != 's') && (menuChoice != 'q'))

{

cout << "MENU" << 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 << endl;

cout << "Choose an option: " << endl;

cin >> menuChoice;

}

if (menuChoice == 'c')

{

cout << "Number of non-whitespace characters: " << GetNumOfNonWSCharacters(userString) << endl << endl;

}

else if (menuChoice == 'w')

{

cout << "Number of words: " << GetNumOfWords(userString) << endl << endl;

}

else if (menuChoice == 'f')

{

string stringFind;

cin.clear();

cin.ignore(20, '\n');

cout << "Enter a word or phrase to be found: " << endl;

getline(cin, stringFind);

cout << "\"" << stringFind << "\"" << " instances: " << FindText(userString, stringFind) << endl;

}

else if (menuChoice == 'r')

{

cout << "Edited text: ";

ReplaceExclamation(userString);

cout << userString << endl << endl;

}

else if (menuChoice == 's')

{

ShortenSpace(userString);

cout << "Edited text: " << userString << endl;

}

return menuChoice;

}

int GetNumOfNonWSCharacters(const string userString)

{

int numCharNotWhiteSpace = 0;

for (size_t i = 0; i < userString.size(); i++)

{

if (!isspace(userString.at(i)))

{

numCharNotWhiteSpace += 1;

}

}

return numCharNotWhiteSpace;

}

int GetNumOfWords(const string userString)

{

int numWords = 1;

for (size_t i = 0; i < userString.size(); i++)

{

if (isspace(userString.at(i)) && !isspace(userString.at(i + 1)))

{

numWords += 1;

}

}

return numWords;

}

int FindText(const string& userString, const string& findString)

{

int numInstance = 0;

int indx = 0;

string editedString;

editedString = userString;

while (editedString.find(findString) != string::npos)

{

numInstance++;

indx = editedString.find(findString);

editedString = editedString.substr(indx + findString.length(), (editedString.length() - 1));

}

return numInstance;

}

void ReplaceExclamation(string& periodString)

{

for (size_t i = 0; i < periodString.size(); i++)

{

if (periodString.at(i) == '!')

{

periodString.at(i) = '.';

}

}

}

void ShortenSpace(string& shortenedString)

{

for (size_t i = 0; i < shortenedString.size(); i++)

{

if (isspace(shortenedString.at(i)) && !isalpha(shortenedString.at(i + 1)))

{

shortenedString.erase(i, 1);

}

}

}

You might be interested in
A Chain of dry-cleaning outlets wants to improve its operations by using data from devices at individual locations to make real-
Svetllana [295]

The technology would the business combination with its current cloud operations to make this possible are ERP and loT.

<h3>What is the ERP?</h3>

Enterprise resource planning (ERP) refers to a shape of a software program application that companies use to manipulate each day industrial organization sports activities in conjunction with accounting, procurement, task management, chance manage and compliance, and supply chain operations.

  1. Given the organization has a cloud setup, we need a company solution (ERP system) which needs to be to be had to all stores and loT to build up facts from devices and deliver it over to the ERP system.
  2. This will help to connect records at some crucial databases in cloud from all the stores.
  3. There need to be record protection features as well to maintain the records intact, all profits features need to be incorporated and tested.

Read more about the ERP :

brainly.com/question/14635097

#SPJ1

7 0
3 years ago
What is the full meaning of ICT
leva [86]
Information commination technology :)
6 0
4 years ago
Read 2 more answers
Assume that nextWord is a String variable that has been given a String value consisting entirely of letters. Write some Java cod
wel

Answer:

The code example is given below with explanation in c++ language.

Explanation:

Comments will explain what's going on in the code. Below code is already compiled and tested.

#include <time.h>

#include <iostream>

#include <sstream>

using namespace std;

int main(void)

{

//defining start and end time variable

// which will be used to break the infinte loop

   time_t endwait;

   time_t start = time(NULL);

   time_t seconds = 3; // end loop after this time has elapsed

cout<<"Input your number :";

long userNum;

cin>> userNum;

// initializing end time by adding seconds with start time

   endwait = start + seconds;

   // defining outputString which will concatenate all the  

   // divisible numbers in loop

string outputString="";

// bool isCompleted will use to check whether our  

// loop breaks successfully or time is expired.

bool isCompleted=true;

// iterate loop until it comes to 1. as in loop

// the program already displayed the 1 value.

   while (userNum>1)

   {  

  // checking start and end time comparison to  

  // break the infinite loop after some seconds

    if(start >= endwait){

     cout<< "Program end never reached.";

     isCompleted=false;

     break;

 }

 

    userNum=userNum/2;

   // defining stringstream to convert from long to string

    stringstream longToString;

    longToString<<userNum;

  // concatenating all the values

    outputString = outputString + longToString.str()+" ";

   // re initializing the start time with current time.

       start = time(NULL);

   }

   

  // check if while loop breaks successfully then print the

   // series of numbers here.

   if(isCompleted) {

    cout << outputString;

}

   return 0;

}

8 0
3 years ago
What is the purpose of a forecast worksheet?
Liono4ka [1.6K]

Answer: It’s a

Explanation:

I got it right on edj

8 0
3 years ago
What is a stereo type?
Aleks04 [339]

Hello!

A stereotype is a generalized belief about a particular category of people.

 

3 0
4 years ago
Read 2 more answers
Other questions:
  • Which type of drawer has three dispensing modes: single-dose, multi-dose, and matrix?
    13·1 answer
  • Which is the best description of the difference between bound and unbound forms? O Bound forms are similar to hierarchical forms
    7·1 answer
  • (Financial application: compound value) Suppose you save $100 each month into a savings account with the annual interest rate 5%
    8·1 answer
  • Which of these is an aggregator?
    9·2 answers
  • Which statistical function in a spreadsheet helps you to see how far each number varies, on average, from the average value of t
    5·1 answer
  • What does an operating system do?
    12·1 answer
  • Where can a client identify the instant deposit options for their QuickBooks Payments account?
    5·1 answer
  • Read the attached paper titled A Survey of Coarse-Grained Reconfigurable Architecture and comment on it. Make sure to specifical
    5·1 answer
  • Given positive integer n, write a for loop that outputs the even numbers from n down to 0. If n is odd, start with the next lowe
    8·1 answer
  • What does Amara hope will<br> happen when Dad sits on the sofa?
    8·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!