Write a C++ program You will write a program to keep up with bids at an auction. You will have a class “Node” to store the bid amount. You will have a class “LinkedStack” to implement the stack as a linked list. I attached an input file to use as an example - auctions.txt Put your class definition in a header file and the implementation of the methods in a .cpp file. Your program will ask the user for a file name, open a file containing a string (the item being auctioned) followed by a series of integer bid amounts. You do not know how many bids there are so you must read until you reach the end of the file. Make sure you check to see if the file opened properly before you try to process it. Read each bid from the file. If a bid is larger than the last one, you will put it on the stack. Once all bids have been processed your program will display the item and the winning bid. There is no need for a user interface that does more than ask for the file name, displaying an appropriate message if the file does not exist, and displaying the item with winning bid.   You will NEVER use break, exit, return, pass, continue or anything to leave a loop (or iteration), function, or other construct prematurely, unless it is part of the structure as in a case statement. You will NEVER have a function call itself, unless it is intentional recursion. You will NEVER use global variables.  However, you may use global constants if it is appropriate and they are used properly. You will have only one return statement in a function. (Exception – Multiple return statements may be necessary in a recursive function.)

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
Write a C++ program
You will write a program to keep up with bids at an auction.
You will have a class “Node” to store the bid amount.
You will have a class “LinkedStack” to implement the stack as a linked list.
I attached an input file to use as an example - auctions.txt
Put your class definition in a header file and the implementation of the methods in a .cpp file.
Your program will ask the user for a file name, open a file containing a string (the item being auctioned) followed by a series of integer bid amounts. You do not know how many bids there are so you must read until you reach the end of the file. Make sure you check to see if the file opened properly before you try to process it.
Read each bid from the file. If a bid is larger than the last one, you will put it on the stack. Once all bids have been processed your program will display the item and the winning bid. There is no need for a user interface that does more than ask for the file name, displaying an appropriate message if the file does not exist, and displaying the item with winning bid.
 
  • You will NEVER use break, exit, return, pass, continue or anything to leave a loop (or iteration), function, or other construct prematurely, unless it is part of the structure as in a case statement.
  • You will NEVER have a function call itself, unless it is intentional recursion.
  • You will NEVER use global variables.  However, you may use global constants if it is appropriate and they are used properly.
  • You will have only one return statement in a function. (Exception – Multiple return statements may be necessary in a recursive function.)
Valuable Ancient Item
50
24
59
62
68
99
87
53
76
12
98
81
66
34
Transcribed Image Text:Valuable Ancient Item 50 24 59 62 68 99 87 53 76 12 98 81 66 34
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

the program give me a error 

```cpp
#include <iostream>
#include <string>
#include <fstream>
#include "LinkedStack.h"

using namespace std;

int main()
{
    string filename, itemName;
    int bid;
    ifstream in;
    LinkedStack stack;

    // input the filename
    cout << "Enter the filename: ";
    getline(cin, filename);

    in.open(filename); // open file for reading

    if (in.fail())
        cout << "File: " << filename << " not opened" << endl;
    else
        getline(in, itemName); // read the entire line containing item name

    // loop till the end of file is reached
    while (!in.eof())
    {
        in >> bid; // read a bid amount
        // stack is empty or stack is not empty and bid is greater than top bid of stack, insert bid at top of stack
        if (stack.isEmpty() || (!stack.isEmpty() && stack.peek() < bid))
            stack.push(bid);
    }

    in.close(); // close the file

    if (!stack.isEmpty()) // if stack is not empty, display the top bid
        cout << "The winning bid for " << itemName << " is " << stack.peek() << endl;
    else
        cout << "No bid for " << itemName << " was made" << endl;

    return 0;
}
```

### Explanation

This C++ program reads bid amounts from a file and determines the highest bid for a given item. Here's a step-by-step explanation:

1. **Header Inclusions and Namespace:**
   - Includes necessary libraries: `iostream`, `string`, `fstream`.
   - Includes the custom header `LinkedStack.h`.
   - Uses the standard namespace `std`.

2. **Main Function:**
   - Declares variables for the filename, item name, bid amount, input file stream, and a linked stack (`LinkedStack`).

3. **File Input:**
   - Prompts the user to enter a filename.
   - Opens the specified file for reading.

4. **Error Handling:**
   - Checks if the file failed to open and outputs an error message if so.

5. **Reading File Content:**
   - Reads the item name from the first line.
   - Continues reading bid amounts until the end of the file is reached.

6. **Bid Processing:**
   - If the stack is
Transcribed Image Text:```cpp #include <iostream> #include <string> #include <fstream> #include "LinkedStack.h" using namespace std; int main() { string filename, itemName; int bid; ifstream in; LinkedStack stack; // input the filename cout << "Enter the filename: "; getline(cin, filename); in.open(filename); // open file for reading if (in.fail()) cout << "File: " << filename << " not opened" << endl; else getline(in, itemName); // read the entire line containing item name // loop till the end of file is reached while (!in.eof()) { in >> bid; // read a bid amount // stack is empty or stack is not empty and bid is greater than top bid of stack, insert bid at top of stack if (stack.isEmpty() || (!stack.isEmpty() && stack.peek() < bid)) stack.push(bid); } in.close(); // close the file if (!stack.isEmpty()) // if stack is not empty, display the top bid cout << "The winning bid for " << itemName << " is " << stack.peek() << endl; else cout << "No bid for " << itemName << " was made" << endl; return 0; } ``` ### Explanation This C++ program reads bid amounts from a file and determines the highest bid for a given item. Here's a step-by-step explanation: 1. **Header Inclusions and Namespace:** - Includes necessary libraries: `iostream`, `string`, `fstream`. - Includes the custom header `LinkedStack.h`. - Uses the standard namespace `std`. 2. **Main Function:** - Declares variables for the filename, item name, bid amount, input file stream, and a linked stack (`LinkedStack`). 3. **File Input:** - Prompts the user to enter a filename. - Opens the specified file for reading. 4. **Error Handling:** - Checks if the file failed to open and outputs an error message if so. 5. **Reading File Content:** - Reads the item name from the first line. - Continues reading bid amounts until the end of the file is reached. 6. **Bid Processing:** - If the stack is
Solution
Bartleby Expert
SEE SOLUTION
Knowledge Booster
Linked List Representation
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
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education