Your task for this assignment is to implement a stack data structure in C++. This may be accomplished by utilizing the C++ standard template library (STL) or by utilizing a user-defined class. 1. 2. 3. 4. Implement a stack data structure using C++. The program will be interactive. Data transactions will be entered as a batch of transactions in a text file at the command line using redirection. The result of each transaction will be displayed on the console. For example: $ prog3

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
Your task for this assignment is to implement a stack data structure in C++. This may be
accomplished by utilizing the C++ standard template library (STL) or by utilizing a user-defined
class.
1.
2.
3.
4.
Implement a stack data structure using C++. The program will be interactive. Data
transactions will be entered as a batch of transactions in a text file at the command line
using redirection. The result of each transaction will be displayed on the console.
For example: $ prog3 < prog3.dat
Each input transaction will contain an arithmetic expression in post-fix format. Assume
that each operand and operation (+,-, *, /, %, ^) is a single character in each arithmetic
expression without spacing. You may assume that each arithmetic expression is correctly
formatted. However, your program should not attempt the following:
a. Divide by zero with / or % ... Instead, your program should display an error message
and then begin evaluating a new input transaction.
b. Perform % with non-integer operands... Instead, your program should display an
error message and then begin evaluating a new input transaction.
Note that the intermediate or final results of an expression may be negative or non-
integer.
Sample input transactions and results:
a. 23+
(result = 5)
b. 34*5/
(result = 2.4)
(result = "error: division by zero")
(result = 4)
(result = "error: non-integer operand for %")
c. 832*6-/
d. 48*62*42^3+-%
e. 92/73/5%4/+
An input transaction containing "end-of-file" indicates there are no more transactions to
be processed. Implement a stack to evaluate each expression and display the result. Use
the C++ built-in class or a user-defined class to implement stack functions.
The program will be run at the command prompt by navigating to the directory
containing the executable version of the program after the program is compiled. The
program should display a prompt requesting input, such as "Please enter an expression in
post-fix notation:".
Transcribed Image Text:Your task for this assignment is to implement a stack data structure in C++. This may be accomplished by utilizing the C++ standard template library (STL) or by utilizing a user-defined class. 1. 2. 3. 4. Implement a stack data structure using C++. The program will be interactive. Data transactions will be entered as a batch of transactions in a text file at the command line using redirection. The result of each transaction will be displayed on the console. For example: $ prog3 < prog3.dat Each input transaction will contain an arithmetic expression in post-fix format. Assume that each operand and operation (+,-, *, /, %, ^) is a single character in each arithmetic expression without spacing. You may assume that each arithmetic expression is correctly formatted. However, your program should not attempt the following: a. Divide by zero with / or % ... Instead, your program should display an error message and then begin evaluating a new input transaction. b. Perform % with non-integer operands... Instead, your program should display an error message and then begin evaluating a new input transaction. Note that the intermediate or final results of an expression may be negative or non- integer. Sample input transactions and results: a. 23+ (result = 5) b. 34*5/ (result = 2.4) (result = "error: division by zero") (result = 4) (result = "error: non-integer operand for %") c. 832*6-/ d. 48*62*42^3+-% e. 92/73/5%4/+ An input transaction containing "end-of-file" indicates there are no more transactions to be processed. Implement a stack to evaluate each expression and display the result. Use the C++ built-in class or a user-defined class to implement stack functions. The program will be run at the command prompt by navigating to the directory containing the executable version of the program after the program is compiled. The program should display a prompt requesting input, such as "Please enter an expression in post-fix notation:".
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 7 steps with 4 images

Blurred answer
Knowledge Booster
Stack
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
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