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.

LINUX+ AND LPIC-1 GDE.TO LINUX CERTIF.
5th Edition
ISBN:9781337569798
Author:ECKERT
Publisher:ECKERT
Chapter7: Working With The Bash Shell
Section: Chapter Questions
Problem 5DE
icon
Related questions
Question

 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();

big apple
10 10 10 10 10
yellow oringe
20 20 20 20 20
END
aaa bbb
30 30 30 30 30
data in file
Gpolaris:=/AS/lab8
big apple
10 10 10 10 10
yellow oringe
20 20 20 20 20
END
output
Transcribed Image Text:big apple 10 10 10 10 10 yellow oringe 20 20 20 20 20 END aaa bbb 30 30 30 30 30 data in file Gpolaris:=/AS/lab8 big apple 10 10 10 10 10 yellow oringe 20 20 20 20 20 END output
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Files and Directory
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
LINUX+ AND LPIC-1 GDE.TO LINUX CERTIF.
LINUX+ AND LPIC-1 GDE.TO LINUX CERTIF.
Computer Science
ISBN:
9781337569798
Author:
ECKERT
Publisher:
CENGAGE L