Instead of reading from cin and writing to a file, you read from your file and write to cout. The only tricky part is deciding when to stop reading. In your previous code, you stopped reading when the user said they didn’t want to continue. For the new code, keep reading until you read “END” for the name of the produce. You can use “==” on strings, so if (product name == ”END”) will tell you that you can stop reading.
First, take your program and add one more feature: at the end, just before you close the file, write the word “END” all by itself on a line. Run that program once to create a file of items with “END”. Instead of reading from cin and writing to a file, you read from your file and write to cout. The only tricky part is deciding when to stop reading. In your previous code, you stopped reading when the user said they didn’t want to continue. For the new code, keep reading until you read “END” for the name of the produce. You can use “==” on strings, so if (product name == ”END”) will tell you that you can stop reading.
My code:
#include<iostream>
#include<string.h>
#include<fstream>
using namespace std;
int main()
{
string filename;
cout<<"Enter the name of the file to store the information"<<endl;
getline(cin,filename);
ofstream fileptr(filename.c_str());
if(!fileptr.is_open())
{
cout<<"Couldn't open a file"<<endl;
}
string product,temp;
double wholesaleprice, totalprice, markup, retailprice, totalretailprice;
char option;
int quantity;
do
{
cout<<"Enter the product name"<<endl;
getline(cin, product);
cout<<"Enter the Wholesale Price"<<endl;
cin>>wholesaleprice;
cout<<"Enter the quantity"<<endl;
cin>>quantity;
totalprice = wholesaleprice*quantity;
cout<<"Enter the markup percentage"<<endl;
cin>>markup;
retailprice = wholesaleprice + ( (markup/100)*wholesaleprice );
totalretailprice = retailprice * quantity;
fileptr<<product<<endl;
fileptr<<wholesaleprice<<" "<<quantity<<" "<<retailprice<<" "<<(totalretailprice-totalprice)<<endl;
cout<<"Do you want to process any more records (y/n)?"<<endl;
cin>>option;
getline(cin,temp);
}while(option=='y');
fileptr.close();
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 2 images