Answer:
<h2>
C++ Code:</h2>
#include <iostream> //header file for input output functions like cout cin
#include <sstream> // reads from string as a stream
#include <string>
// header file for strings
using namespace std; // used for computer to detect endl cout, cin
int main() { //start of the main function of the program
string userItem; // declare string type variable
ostringstream itemsOSS; // output string stream
cout << "Enter items (type Exit to quit):" << endl;
// prompts user to enter items and type Exit to quit
cin >> userItem; //reads input userItems
while (userItem != "Exit") { //loop that runs untill userItem gets equal to Exit
itemsOSS << userItem << " ";
// inserts userItem into the output string stream itemsOSS
cin >> userItem;
} //reads items stored in userItem variable
cout << itemsOSS.str() << endl;} // prints current contents of the itemsOSS.
<h2>
Explanation:</h2>
I will explain the code line by line.
- The first line includes a header file iostream which is used for input and output functions such as cin, cout etc.
- The next line includes sstream header file to read from a string as a stream. String streams are streams containing strings. Strings are treated like streams and stream operations are used on these strings.
- The next line includes string header file in order to use strings in the program.
- Next line namespace is used for the computer to identify objects like endl, cin, cout.
- This lines starts the main function and enters the body of main function.
- A string type variable userItem is declared.
- ostringstream type variable itemsOSS is declared. ostringstream class works on strings.
- This line prompts the user to enter the items and type Exit word to quit. endl is used to insert new line.
- This line read input from variable userItem which is inserted by the user.
- This statement starts a loop which will continue to execute until the user types Exit.
- In the body of while loop, this line shows that the items entered by the user in userItem will be inserted into the output string stream itemsOSS. Every userItem is followed by a space. << this is insertion operator. This retrieves items from the input sequence and inserts them into the itemsOSS, until Exit is typed.
- Next line reads items stored in userItem variable.
- str() returns a copy of the string which is manipulated by the current stream string and it outputs the contents of the itemsOSS stream.
<h2>
Output:</h2>
Enter items (type Exit to quit):
red purple yellow Exit
red purple yellow