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
Determine the distance between point (x1, y1) and point (x2, y2), and assign the result to points Distance. The calculation is:
Nadusha1986 [10]

<u>Question:</u>

Snapshot of the question has been attached to this response.

<u>Answer:</u>

<u></u>

import java.util.Scanner;

import java.lang.Math;

public class CoordinateGeometry{

    public static void main(String []args){

       double x1 = 1.0;

       double y1 = 2.0;

       double x2 = 1.0;

       double y2 = 5.0;

       double pointsDistance = 0.0;

       

       //Declare a variable to hold the result of (x2 - x1)²

       double x;

       

       //Solve (x2 - x1)^2 and store result in the variable x

       x = Math.pow(x2 - x1, 2);

       

       //Declare a variable to hold the result of (y2 - y1)²

       double y;

       

       //Solve (y2 - y1)^2 and store result in the variable y

       y = Math.pow(y2 - y1, 2);

       

       //Now pointsDistance = SquareRootOf(x + y)

       pointsDistance = Math.sqrt(x + y);

       

       System.out.println("Points distance: ");

       System.out.println(pointsDistance);

       

       return;

    }

}

<u>Sample Output:</u>

Points distance:  

3.0

<u>Explanation:</u>

The above code has been written in Java and it contains comments explaining important lines of the code. Please go through the comments.

The snapshots of the program and a sample output have been attached to this response.

4 0
4 years ago
You need to view the contents of /var/log/auth.log to get information about the users that have been logging on to the system. T
leva [86]

Answer:

more /var/log/auth.log

less /var/log/auth.log

Explanation:

The commands that can be used to view the content of the auth.log file page by page are:

more /var/log/auth.log

less /var/log/auth.log

5 0
3 years ago
The object-oriented techniques to manage errors such as dividing a value by 0 comprise the group of methods known as
charle [14.2K]
The object - oriented techniques to manage errors such as dividing a value by 0 comprise the group of methods known as Error handling. Error handling is managing the mistakes made on any type of scenario. This skill is needed to all IT and Computer Science majors.
6 0
4 years ago
What is Virtual Storage Configuration and Management, as well as Virtual Machine Management?
AveGali [126]

Answer:

Virtual storage configuration and management refers to the process of configuring and managing the storage resources of a virtualized environment. This typically involves creating and configuring virtual disks, assigning storage space to virtual machines, and managing the allocation of storage resources among different virtual machines.

Virtual machine management, on the other hand, refers to the process of managing the virtual machines in a virtualized environment. This typically involves creating and configuring virtual machines, installing and configuring operating systems and applications on the virtual machines, and managing the allocation of computing resources such as CPU, memory, and network bandwidth among different virtual machines.

An example of virtual storage configuration and management would be creating a virtual disk with a specified size and assigning it to a virtual machine to use as its primary storage. An example of virtual machine management would be creating a new virtual machine with a specified operating system and allocated resources, and then installing and configuring applications on it.

Both virtual storage configuration and management and virtual machine management are important tasks in a virtualized environment, as they help to ensure that the virtual machines have access to the necessary storage and computing resources to function properly. These tasks are typically performed by system administrators or other IT professionals who have expertise in virtualization and IT infrastructure management.

7 0
2 years ago
A(n) ______ is an output device that visually conveys text, graphics, and video information.
polet [3.4K]
The answer is Printer. hope this helped :)

3 0
4 years ago
Other questions:
  • Input numbers and segregate them by placing their values into even or odd vectors based upon their value being even or odd. Then
    12·1 answer
  • I need help with this problem plsssssssssssssss
    6·1 answer
  • Increasing your margins will increase the amount of space you have to type text on your document. Please select the best answer
    10·1 answer
  • If you were infiltrating a network (10.16.0.0/16), and searching for vulnerabilities (while trying to remain undetected), why wo
    11·2 answers
  • What is the primary way to access applications in window 10
    7·1 answer
  • Imagine you are the human resource director for a small video game company that employs around 20 coders, managers, artists, etc
    12·1 answer
  • Mohammed’s parents learn that his classmates have begun sending him text messages making fun of his heritage. Mohammed says he’s
    5·2 answers
  • When you get a new sim card do it come with a new number or do you have a activate the phone and get a new number in store ?
    9·1 answer
  • Click to review the online content. Then answer the question(s) below, using complete sentences. Scroll down to view additional
    5·2 answers
  • Which would you use to get the number of elements in a dictionary?
    6·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!