Topical Information Use C++. The purpose of this project is to test your ability to use files, class design, operator overloading, and Strings or strings effectively in program design. Program Information Create a program which will read a phrase from the user and create a framed version of it for printing. For example, the phrase "hello world"would result in: ********* * hello * * world * ********* Whereas the phrase "the sky is falling"might be: *********** * the * * sky * * is * * falling * *********** Or: *********** * the * * sky * * is * * falling * *********** Or even: *********** * the * * sky * * is * * falling * *********** Depending on whether or not the user asked for left, centered, or right justification — respectively — of the phrase's words within the frame. Note how the frame exactly fits the phrase based on the longest word within. Neat, eh? The phrase "O | -+- | /-\"when centered would become: ******* * O * * | * * -+- * * | * * /-\ * ******* Also allow the user to specify what character you are to make the frame from. Typical choices would be @, #, *, +, x, X, o, or O. But let them tell you anything that will print just fine. (Hint: cctype has a function called isprint that tells if a character is printable.) Give them the option of reading phrases from the keyboard or a file they specify (assume each line of the input stream contains a single phrase). The user should also be able to choose if the framed phrase is printed on the screen or into a file they specify. In case it isn't clear, you should create a 'frame the phrase' class. It should have overloaded operators for at least input and output.
Topical Information
Use C++. The purpose of this project is to test your ability to use files, class design, operator overloading, and Strings or strings effectively in program design.
Program Information
Create a program which will read a phrase from the user and create a framed version of it for printing. For example, the phrase "hello world"would result in:
*********
* hello *
* world *
*********
Whereas the phrase "the sky is falling"might be:
***********
* the *
* sky *
* is *
* falling *
***********
Or:
***********
* the *
* sky *
* is *
* falling *
***********
Or even:
***********
* the *
* sky *
* is *
* falling *
***********
Depending on whether or not the user asked for left, centered, or right justification — respectively — of the phrase's words within the frame. Note how the frame exactly fits the phrase based on the longest word within. Neat, eh?
The phrase "O | -+- | /-\"when centered would become:
*******
* O *
* | *
* -+- *
* | *
* /-\ *
*******
Also allow the user to specify what character you are to make the frame from. Typical choices would be @, #, *, +, x, X, o, or O. But let them tell you anything that will print just fine. (Hint: cctype has a function called isprint that tells if a character is printable.)
Give them the option of reading phrases from the keyboard or a file they specify (assume each line of the input stream contains a single phrase).
The user should also be able to choose if the framed phrase is printed on the screen or into a file they specify.
In case it isn't clear, you should create a 'frame the phrase' class. It should have overloaded operators for at least input and output.

Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images









