Question: Task: if the character read in is a '.' (dot), ',' (comma), '?' (question mark), '-' (dash), or a ' (single quote), then it is

Task:

  • if the character read in is a '.' (dot), ',' (comma), '?' (question mark), '-' (dash), or a "'" (single quote), then it is replaced by a ' ' (space) character unless these characters appear inside a double quotation-mark enclosed substring; and,
  • if the character is not a '.' (dot), '.' (comma), '?' (question mark), '-' (dash), or a "'" (single quote), then it is always output as-is.

You program must process all input from standard input (i.e., std::cin) and write all output to standard output (i.e., std::cout). This must be done in C++.

Edit: You can consider the input as a string

Clarifications:

  • In this assignment, do not use 's ispunct() or the ispunct() found within the C++ Standard Library. Simply hard-code the checks for punctuation in your code, e.g., use a switch statement and case labels on byte.
  • If a opening double-quotation character is not closed, then output everything to the screen (to the end-of-file/error condition), i.e., don't worry that the quotation mark not being closed.
  • Do not convert double-quotation characters to whitespace.
  • If you don't know where to start, start with the following code:
#include #include // for std::noskipws using namespace std; int main() { bool is_within_double_quotes = false; char byte; while (cin >> noskipws >> byte) { // NOTE: output your bytes with cout.put(byte); // or, cout << byte; (if byte is a char) // or, cout << static_cast(byte); (if byte is not a char) #error "Write code in here to process the input and write output to std::cout." } }

Sample Program Input File:

Consider this input file a1-input.dat:

$ cat a1-input.dat This -is' ?some? text. "This i-s 'so'.me text?" "a.b-c'd?z"A.B-C'D?Z'0.1-2"3?9'4.5-6'7?"aA.bB-cC'dD?zZ $ 

Sample Program Run:

This is a sample program run:

$ ./a.out 

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!