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.)
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
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.
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.
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](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fcd8754a6-9838-44f8-ac24-fd52f02bad0b%2F1ea410d9-16dd-4884-a545-ede881d64bb3%2F2b09kwe_processed.png&w=3840&q=75)
Transcribed Image Text:Valuable Ancient Item
50
24
59
62
68
99
87
53
76
12
98
81
66
34
Expert Solution
![](/static/compass_v2/shared-icons/check-mark.png)
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 2 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
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](https://content.bartleby.com/qna-images/question/a7c27298-59b5-49d0-8c27-79a566d98d7e/91e4896f-494e-4100-9ee5-666e1d497a46/q5wpktn_thumbnail.jpeg)
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
Knowledge Booster
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.Recommended textbooks for you
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
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)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
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)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education