Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

#ifndef STACKTYPE _ H _ INCLUDED #define STACKTYPE _ H _ INCLUDED const int MAX _ ITEMS = 5 ; class FullStack / / Exception

#ifndef STACKTYPE_H_INCLUDED
#define STACKTYPE_H_INCLUDED
const int MAX_ITEMS =5;
class FullStack
// Exception class thrown
// by Push when stack is full.
{};
class EmptyStack
// Exception class thrown
// by Pop and Top when stack is emtpy.
{};
template
class StackType
{
public:
StackType();
bool IsFull();
bool IsEmpty();
void Push(ItemType);
void Pop();
ItemType Top();
private:
int top;
ItemType items[MAX_ITEMS];
};
#endif // STACKTYPE_H_INCLUDED
stacktype.cpp
#include "StackType.h"
template
StackType::StackType()
{
top =-1;
}
template
bool StackType::IsEmpty()
{
return (top ==-1);
}
template
bool StackType::IsFull()
{
return (top == MAX_ITEMS-1);
}
template
void StackType::Push(ItemType newItem)
{
if( IsFull()) throw FullStack();
top++;
items[top]= newItem;
}
template
void StackType::Pop()
{
if( IsEmpty()) throw EmptyStack();
top--;
}
template
ItemType StackType::Top()
{
if (IsEmpty()) throw EmptyStack();
return items[top];
}
Generate the driver file (main.cpp) where you perform the following tasks. Note that you cannot make any change to
the header file or the source file.
Operation to Be Tested and Description of Action Input Values Expected Output
Create a stack of integers
Check if the stack is empty Stack is Empty
Push four items 5742
Check if the stack is empty Stack is not Empty
Check if the stack is full Stack is not full
Print the values in the stack (in the order the values are given as
input)
5742
Push another item
3
Print the values in the stack 57423
Check if the stack is full Stack is full
Pop two items
Print top item 4
Take strings of parentheses from the user as input and use a stack to
check if the string of parentheses is balanced or not
() Balanced
(())()(()())() Balanced
(())()((() Not balanced
(())))((() Not balanced

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions